在bash
(and ) 中,如果給定的話,zsh
如何最簡潔地將 的值分配$1
給變量,否則為預設值?w
$1
4
我試過
w=$(( $1 != "" ? $1 : 4))
但這回傳了一條錯誤訊息。
有沒有比更簡單的事情
w=4; [[ $1 != "" ]] && w=$1
答案1
使用以下形式的參數擴展${parameter:-word}
${parameter:-word}
使用預設值。如果參數未設定或為空,則取代單字的擴展。否則,將替換參數的值。
w=${1:-4}
省略冒號會導致僅測試未設定的參數。
w=${1-4}