linux 与 aix/hp的shell对于子shell变量赋值的作用域不同
2015-01-23 17:15
399 查看
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来用
相关文章推荐
- Linux Shell Bash 变量赋值中"$()"的作用
- # include <errno.h >查看错误代码errno是调试程序的一个重要方法。当Linux C API函数发生异常时,一般会将errno变量赋值一个整数,不同的值表示不同的含义,可以通过查看
- linux中的for、while循环输出中赋值变量及shell中循环获取脚本参数
- Linux Shell Bash 变量赋值
- SHELL 关于变量的赋值和脚本中的子SHELL中变量的变化
- shell变量赋值-linux
- linux在shell中执行命令并将结果赋值给变量
- javascript中 ”匿名函数赋值给变量“与“直接命名函数”有什么不同的作用?
- [置顶] shell变量赋值-linux
- shell脚本的作用,shell脚本变量的定义和三种赋值方式【shell脚本的学习笔记一】
- linux之基础shell脚本编程4 字符串操作,变量赋值,配置用户环境
- linux之基础shell脚本编程1 基础变量赋值
- linux环境下不同脚本文件配置的环境变量作用域范围的区别
- Linux下将awk的变量赋值给shell变量
- linux 将文件内容赋值给shell脚本中的变量
- linux下JDK安装,不同用户不同SHELL下环境变量设置
- linux在shell中执行命令并将结果赋值给变量
- linux基础——shell变量(本地变量和环境变量)
- AIX,HP-UX,LINUX,SOLARIS磁盘与卷管理常用命令精选
- shell 两种变量的表示方法,大括号的作用