bash – 循环退出后的局部变量

前端之家收集整理的这篇文章主要介绍了bash – 循环退出后的局部变量前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
退出循环后,我遇到了局部变量的一些问题.尽管代码如下,变量max最终以值0结束: @H_403_1@max=0 cat tmp|while read line do temp=$(echo $line|tr -d "\n"|wc -c) if [ $temp -gt $max ];then max=$temp echo $max fi done echo -n tmp $max cat tmp 12345 123456

这是我收到的输出

@H_403_1@5 6 tmp 0

我不明白为什么在退出循环后max为0,而在循环内它找到正确的值.

管道启动一个新的子shell,具有自己的环境和可变空间.使用<改为循环结束时的tmp.

猜你在找的Bash相关文章