是否有任何理由在shell腳本中使用變量$HOME
而不是簡單的~
(代字號)?
24
A
回答
31
波浪線擴展不會在某些情況下在字符串中間像/foo/bar:~/baz
11
便攜性和$HOME
均勻性的工作,等等。 Tilde是一個打字快捷鍵。
+1
因此,我理解存在代號爲$ HOME的shell或系統是正確的嗎? – mybuddymichael 2011-05-10 02:59:02
+5
@Michael是的,Solaris 10中的默認'sh'不會將代字號視爲'$ HOME',也不會展開'〜username'。 – evolvah 2012-04-02 03:44:40
6
今天我發現代字號擴展不能用雙引號(""
)。
在zsh的(對不起,我沒有檢查其他炮彈的行爲。),
在雙引號內(
""
),發生參數和命令替換
波浪線擴展是一個文件名擴展,所以它在雙引號內失敗。
$HOME
是參數替換並且可以在雙引號內擴展。
$HOME
是一個安全的賭注。
相關問題
- 1. Shell腳本波浪線擴展
- 2. 在ConfString中使用波浪號〜
- 3. 爲什麼在使用Vagrant shell腳本配置Ubuntu VM時不執行腳本?
- 4. 什麼樣的JavaScript數組的使用波浪號〜
- 5. 什麼是lighttpd config(=〜)中的等號後面跟波浪號?
- 6. 使用shell腳本 - 星號
- 7. 爲什麼不在shell腳本中使用SQLLDR創建表?
- 8. 爲什麼有人在shell腳本中使用兩個shebangs?
- 9. 什麼呢在shell腳本
- 10. 爲什麼rev com腳本在shell腳本中不工作
- 11. 在簡單shell中用$ HOME代替tilde
- 12. 在動態創建的鏈接中使用波浪號(〜)
- 13. 在Vim中更改波浪號(〜)
- 14. Mysql在記錄中插入波浪號〜
- 15. shell腳本中`$ [``的用途是什麼?
- 16. 在shell腳本中,。[!。] *是什麼意思?
- 17. 爲什麼ncat -exec使用shell腳本而不使用perl腳本?
- 18. Shell腳本:shell腳本中的-z是什麼意思?
- 19. 是什麼〜在Linux shell腳本$
- 20. 爲什麼不能包括在一個路徑中的波浪線使用Html.Partial
- 21. 在shell腳本中使用$ -
- 22. 在bash中,爲什麼變量在shell中可見,但不在shell腳本中
- 23. 爲什麼sed在shell腳本中的行爲不同?
- 24. 使用shell腳本
- 25. 爲什麼我的setuid root bash shell腳本不起作用?
- 26. 在Oracle中使用包含波浪號分隔數據的列
- 27. 爲什麼我不能在shell腳本中使用catalina啓動tomcat
- 28. 這個shell腳本爲什麼在命令中插入單引號?
- 29. rowNumber()over(partition_index)在spark-shell中使用mapPartitionsWithIndex
- 30. 在shell腳本中執行java程序時使用雙引號
有關不起作用的另一個示例,請通過@no_allotment滾動到答案。 – H2ONaCl 2017-05-28 01:10:49