0
A
回答
2
,间接参数扩展比使用eval
安全。如果您使用zsh
,则语法稍有不同。
for i in a b; do
echo "$i=${(P)i}"
done
其他shell可能有不同的语法;查看其文档以获取详细信息
如果你使用没有间接参数扩展外壳(例如/bin/sh
或dash
),你将不得不使用eval
:
for i in a b; do
eval "echo $i=\$$i"
done
这里,eval
是安全的,因为在你的价值有明确的控制i
。通常,参数eval
中扩展的任何参数都应该进行验证,以确保您不会执行您不期望的代码。
0
我明白了!
a = s1; b = s2;我在\ $ a \ $ b;做echo $ i;做
这将让a
和b
如果你也想用价值,试试这个:
A = S1; B = S2;我在\ $ a \ $ b;做eval“echo $ i”;做
如果您正在使用bash
或ksh
这将让s1
和s2
相关问题
- 1. 如何显示外键名称,而不是外键ID
- 2. 显示我的活动,而不是名单本身的Android
- 3. 如何在SharePoint电源外壳使显示名称做大
- 4. 如何在Java ME中显示变量(不是文本只是一个变量)?
- 5. jquery显示变量名称而不是值
- 6. bash的字符串操作 - 显示值,而不是变量名
- 7. 为什么在堆,而不是变量本身在C++
- 8. 显示外壳脚本的进程
- 9. 局部变量:Pascal还是Camel外壳?
- 10. Django显示外键名称而不是外键ID
- 11. 如何显示变量名而聚集中的R
- 12. 如何显示从jQuery的PHP变量“内容”? (它显示了我的名字本身,而不是它的内容)
- 13. JSON显示在屏幕上,而不是推送到变量
- 14. 在分类变量图表中显示%而不是计数
- 15. Sugar CRM在电子邮件中显示变量而不是值
- 16. 外壳脚本:变量值反映不正确
- 17. iframe源显示,而不是内容本身
- 18. 如何在GridView Yii2中显示名称而不是id?
- 19. 如何显示用户名,而不是在警予2.0
- 20. 如何使CMD在SET变量中显示结果而不是字符串
- 21. 身份名称不显示
- 22. 如何在外壳
- 23. 值是变量名称而不是变量的内容
- 24. 变量传递从外壳到SQL是不工作
- 25. 更改显示的URL以显示index.php而不是另外两个文件名
- 26. 如何读取文本文件行变量而不是文本
- 27. windows%PATH%变量 - 如何拆分';'在CMD外壳再次
- 28. 显示通用名称,而不是URL
- 29. rails_admin显示名称而不是id
- 30. Datagridview显示类名而不是属性
只有a和b的值已经输入到$ i。该回声命令不会意识到它们。然而,通过其他方式获得价值在技术上是可行的,也许这个其他堆栈交换帖子将有助于:http://unix.stackexchange.com/questions/129084/in-bash-how-can-i-echo-the-变量名称不可变值 – Gene
这是干什么用的?这可能是你被困在别人已经解决的问题的一步,但以一种不同的方式 –