我正在編寫一個bash shell腳本,運行時用戶需要將$ 1變量傳遞給它。我如何確定是否缺少$ 1,併爲其定義一個默認值?在bash腳本中設置默認用戶變量
回答
您可以檢查變量的長度。
if [[ -z $1 ]]; then
echo '$1 is zero-length. Please provide a value!'
fi
如果您只是想使用默認值,則可以使用括號擴展。
first_param=${1:-defaultvalue}
的${varname:-foo}
構建將使用的varname
的值,如果它被設置,或用什麼遵循:-
如果沒有設置它。
你的意思是檢測一個值是否丟失,或者路徑中的目錄是否丟失? 對於前者:
MYPATH=$1
if [[ -z $MYPATH ]]
then
MYPATH=$MYDEFAULTPATH
fi
後者:
MYPATH=$1
if [[ ! -d $MYPATH ]]
then
MYPATH=$MYDEFAULTPATH
fi
因爲他特別提到了bash,所以你應該使用'[[''over'['' – Daenyth 2010-09-28 16:40:43
謝謝,修正了它 – iniju 2010-09-28 16:48:49
爲什麼'[[''比'['更合適? – Elpezmuerto 2010-09-28 16:58:38
- 1. 在csh腳本中設置默認用戶變量
- 2. 短路以在shell腳本中設置變量默認值
- 3. 麻煩bash腳本設置變量
- 4. 傳遞變量bash腳本使用默認值
- 5. 將默認值添加到bash腳本變量中
- 6. 在bash腳本中設置本地環境變量
- 7. 在本地bash函數變量中設置腳本的環境變量
- 8. 無法在bash腳本中設置變量
- 9. 將變量傳遞給bash腳本vs設置腳本的env變量
- 10. 地道bash:設置變量的默認值
- 11. 變量bash腳本
- 12. 設計:在用戶確認後設置用戶默認模板
- 13. 無法正確設置環境變量LD_PRELOAD在bash腳本
- 14. Bash:如何從參數中設置一個變量,並使用默認值
- 15. 設置變量腳本
- 16. 在變量設置以外的腳本中使用變量(ajax)
- 17. JavaScript:將變量設置爲默認值?
- 18. UIView - 設置成員變量默認值
- 19. Symfony2設置默認視圖變量
- 20. Sass:將默認值設置爲變量
- 21. 在bash腳本中切換用戶時的環境變量
- 22. 在終端(Mac)中打開shell腳本無論bash腳本的默認應用程序設置爲
- 23. 在bash腳本變量使用命令
- 24. 在bash腳本中連接變量
- 25. 在bash腳本中訪問變量
- 26. 在bash腳本中定義變量
- 27. Bash腳本 - 在變量中存儲stderr
- 28. 在BASH腳本中嵌入變量
- 29. 在bash shell腳本中啓動動態變量(變量變量)
- 30. 在執行時使用bash腳本中的變量設置ini文件值
有用知道:'$ {參數默認}'和'$ {參數:-default}'是幾乎等同。額外的':'只有在聲明'parameter'時纔會有所作爲,但是爲空。 http://tldp.org/LDP/abs/html/parameter-substitution.html – Andrew 2013-12-10 20:24:26