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. 外殼腳本 - 如何使用一個外殼腳本變量,而無需定義該變量在腳本
- 2. 如何顯示外鍵名稱,而不是外鍵ID
- 3. 如何用awk變量在外殼
- 4. 顯示我的活動,而不是名單本身的Android
- 5. GridView顯示文本而不是外鍵
- 6. 如何顯示顯示名稱而不是用戶名c#
- 7. 如何在SharePoint電源外殼使顯示名稱做大
- 8. 如何在Java ME中顯示變量(不是文本只是一個變量)?
- 9. 如何在vb中顯示變量名稱不是它的值
- 10. bash的字符串操作 - 顯示值,而不是變量名
- 11. jquery顯示變量名稱而不是值
- 12. 爲什麼在堆,而不是變量本身在C++
- 13. Html.lablefor顯示空的,而不是在殼體model.Columnname值列名是NULL
- 14. 顯示外殼腳本的進程
- 15. 局部變量:Pascal還是Camel外殼?
- 16. jQuery的 - 顯示變量,而不是文本字符串
- 17. 文本框顯示變量的類型 - 而不是內容
- 18. Django顯示外鍵名稱而不是外鍵ID
- 19. 外殼出口變量不會生效
- 20. 顯示在many2one而不是名稱
- 21. 配置外殼而不處理顯示器(父)
- 22. 顯示唯一外殼列
- 23. 如何使Java變量變量的名稱本身
- 24. 不顯示外殼覆蓋圖標
- 25. Scrapy外殼調試不顯示項目
- 26. 如何使用adb外殼來顯示本地圖像
- 27. 如何顯示變量名而聚集中的R
- 28. 在gridview中顯示文本而不是外鍵ID
- 29. 爲什麼在C輸入需要變量的內存位置而不是變量本身的名稱?
- 30. 如何顯示從jQuery的PHP變量「內容」? (它顯示了我的名字本身,而不是它的內容)
只有a和b的值已經輸入到$ i。該回聲命令不會意識到它們。然而,通過其他方式獲得價值在技術上是可行的,也許這個其他堆棧交換帖子將有助於:http://unix.stackexchange.com/questions/129084/in-bash-how-can-i-echo-the-變量名稱不可變值 – Gene
這是幹什麼用的?這可能是你被困在別人已經解決的問題的一步,但以一種不同的方式 –