shell 间接变量引用的问题
2012-10-10 18:56
281 查看
1.感叹号的使用
输出结果:
aaa
123
可见,感叹号是可以引用间接变量的值
2.eval的使用
输出结果:
aaa
123
问题:当遇到星号后,间接引用与编程者期望输出不一致的现象
例:输出/root/.ssh/目录下所有的文件
aaa=123 bbb=aaa echo $bbb echo ${!bbb}
输出结果:
aaa
123
可见,感叹号是可以引用间接变量的值
2.eval的使用
aaa=123 bbb=aaa echo $bbb eval ccc=\${$bbb} echo $ccc
输出结果:
aaa
123
问题:当遇到星号后,间接引用与编程者期望输出不一致的现象
例:输出/root/.ssh/目录下所有的文件
SSHCONFIGDIR="/root/.ssh" SSHCONFIG="*" dir=SSHCONFIGDIR files=SSHCONFIG ls ${!dir}/${!files} #这样是没问题的,可以输出/root/.ssh/known_hosts files_temp=${!files} #这一步,shell已经把星号解析成当前目录下所有的文件了,所以files_temp不再是"*",而是当前目录下所有文件的字符串了。 ls ${!dir}/$files_temp #想想这样会有什么问题?files_temp=${!files} #这一步,shell已经把星号解析成当前目录下所有的文件了,所以files_temp不再是"*",而是当前目录下所有文件的字符串了。
相关文章推荐
- shell 间接变量引用的问题
- shell 间接变量引用的问题
- shell中的指针-变量的间接引用
- shell 变量间接引用
- shell中变量被定义为星号(*)后无法引用的问题
- 对于SED中引用SHELL中的变量问题
- shell中变量的间接引用
- Shell 间接变量问题
- shell之变量间接引用
- Shell(Bash) - 变量间接引用
- 对于AWK中引用SHELL中的变量问题
- shell 变量的间接引用
- php与javascript之间变量引用问题
- JavaScript 变量引用问题总结
- shell脚本内环境变量问题
- 由test -n/-z 引发的关于shell变量问题的探讨
- spring 配置文件中dbcp连接池,jdbc连接池 引入 配置文件properties,但是不能用$符号引用里面的变量问题
- C++中函数返回局部变量引用的问题
- 有关extern关键字/引用外部文件的变量问题
- 浅谈PHP变量作用域以及地址引用问题