shell中的全局变量

有时会出现变量不生效的情况。

PARAM_NUMBER=0;

cat "../${OBJ_LOWER}" | while read line

do

    let PARAM_NUMBER=${PARAM_NUMBER}+1;

done

最后, PARAM_NUMBER的值还是0;

这是因为在进行 cat的过程中, 相当于打开了一个新的shell,变量不在作用范围。

可修改成

while read line

do

    let PARAM_NUMBER=${PARAM_NUMBER}+1;

done < "../${OBJ_LOWER}"

原文地址:https://www.cnblogs.com/gavinwu/p/3140756.html