- 变量作用域陷阱
i=0;
cat xx.txt | while read line
do
i=1;
done;
echo $i;
输出为1
,原因是管道符,在此之下的变量作用域都是在该管道符之内,要想达到修改的效果,可以改写迭代方式:
i=0;
for line in `cat xx.txt`
do
i=1;
done;
echo $i;
i=0;
cat xx.txt | while read line
do
i=1;
done;
echo $i;
输出为1
,原因是管道符,在此之下的变量作用域都是在该管道符之内,要想达到修改的效果,可以改写迭代方式:
i=0;
for line in `cat xx.txt`
do
i=1;
done;
echo $i;
本文标题:shell
本文链接:https://www.haomeiwen.com/subject/oumfuxtx.html
网友评论