当前位置:  开发笔记 > 编程语言 > 正文

bash中值的值

如何解决《bash中值的值》经验,为你挑选了1个好方法。

我试图编写一个shell脚本来显示作为位置参数传递的环境变量的值.

for i in $@
do
printf "$i" | xargs -I {} echo "${}"
done

但是,上面的代码不起作用.有人可以指导我.

谢谢.



1> Barmar..:

您的脚本的问题是xargs不使用shell来执行命令,因此$在参数中不会导致变量扩展.

而是使用间接变量引用,方法是放在!变量名之前,如参数扩展文档中所述.

for i in "$@"
do
    printf "%s = %s\n" "$i" "${!i}"
done

结果:

$ ./testvar.sh HOME USER
HOME = /Users/barmar
USER = barmar

推荐阅读
喜生-Da
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有