有人可以解釋echo "${PWD/#$HOME/~}"
在PWD
評估爲$HOME
的情況下如何打印~
。千萬不要使用echo來閱讀這種替換。這裏發生了什麼?使用shell腳本進行說明
0
A
回答
1
這不是echo
這是你的車殼使Parameter Expansion using ${parameter/pattern/string}
syntax:
的
pattern
被擴展爲一個模式,就像文件名擴展 。參數被展開,模式 與其值的最長匹配被替換爲字符串。如果模式以‘/’
, 開頭,則模式的所有匹配都將替換爲字符串。通常只有 第一場比賽被替換。如果模式以‘#’
開頭,則它必須匹配 參數擴展值的開頭。如果模式開始 與‘%’
,它必須在參數的擴展值的末尾匹配。 如果字符串爲空,模式的匹配被刪除,並且/以下的 模式可能被省略。如果參數是‘@’
或‘*’
,則會依次將替換 操作應用於每個位置參數,並且 擴展是結果列表。如果參數是以‘@’
或‘*’
作爲下標的數組變量 ,則替換操作將依次應用於該數組的每個成員 ,並且該擴展是由此產生的 列表。
它doesn't look like POSIX supports it。
在你的情況,如果它PWD
ENVVAR它開始取代$HOME
ENVVAR(不是字符串字面'$HOME'
)與~
輸出的值。
相關問題
- 1. 如何使用Ruby進行shell腳本?
- 2. 使用.html和.php對頁眉和頁腳進行說明
- 3. Google Apps腳本日曆說明 - 換行
- 4. 腳本運行手冊說明
- 5. 使用shell腳本計算進程數
- 6. JS - 素數腳本 - 說明
- 7. ruby腳本說明請
- 8. 使用shell腳本進行文本過濾
- 9. 在Windows上運行shell腳本 - 使用DAMP進行Drupal安裝
- 10. 使用shell腳本
- 11. 使用shell腳本
- 12. 使用shell腳本
- 13. 使用shell腳本
- 14. 使用shell腳本
- 15. 使用shell腳本
- 16. 使用shell腳本
- 17. 使用shell腳本
- 18. 使用shell腳本
- 19. 使用shell腳本
- 20. 使用shell腳本
- 21. 使用Shell腳本菜單用Perl對文件進行排序
- 22. Howto:使用syslog進行用戶創建的shell腳本
- 23. 從Python子進程執行shell腳本
- 24. 如何在shell腳本中說$ {foo} 123?
- 25. 使用PHP運行Shell腳本
- 26. 如何使用java執行shell腳本
- 27. 使用python遠程執行shell腳本
- 28. 無法運行shell腳本使用dockerfile
- 29. 使用shell腳本刪除換行符
- 30. 如何使用Spotlight運行shell腳本?
您可以使用POSIX支持的'$ {PWD#$ HOME}'。它不會帶你一路,但可以構建類似的東西,也許有一個臨時變量。 – tripleee
精美地解釋@ J.F。塞巴斯蒂安。謝謝大家:) – mdsingh
對於那些想閱讀bash參數擴展的人來說,這裏是一個很好的鏈接http://www.linuxjournal.com/content/bash-parameter-expansion – mdsingh