shell

2017-10-14  本文已影响0人  陈振强
  1. 变量作用域陷阱
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;
上一篇下一篇

猜你喜欢

热点阅读