linux 与 aix/hp的shell对于子shell变量赋值的作用域不同

来源:互联网 发布:淘宝弹出淘口令 编辑:程序博客网 时间:2024/04/30 14:07
CompileDir(){        echo $* | tr -s ' ' '\n' | while read cmd        do                ProdDir1="abc";        done        for cmd in $(echo $* |tr -s "\-" '\#' |tr -s " " '\n' )        do                ProdDir2="def";        done        echo "param1 "$ProdDir1        echo "param2 "$ProdDir2}CompileDir $*;


在linux下的执行结果:

$ test3.sh aaaaa
param1 
param2 def


在aix/hp下的执行结果:

$ ./test3.sh aaaaa 
param1 abc
param2 def


结论:为了平台统一性,在子shell赋值的变量,不要拿到父shell来用

0 0
原创粉丝点击