今天在写bash shell 时在局部变量这卡了一下,于是记录一番:
情况:在对一字符串处理时使用了几个管道,然后想吧变量用while循环累加。发现结果总是为空。
在网上找到结论:
因为num=`expr $num + 1`中的num变量在子shell中,无法影响到父shell
管道会产生子shell,用while read 吧
while read line
do
echo $line
num=`expr $num + 1`
done <a.c
echo $num
今天在写bash shell 时在局部变量这卡了一下,于是记录一番:
情况:在对一字符串处理时使用了几个管道,然后想吧变量用while循环累加。发现结果总是为空。
在网上找到结论: