bash 中的條件賦值

bash 中的條件賦值

bash(and ) 中,如果給定的話,zsh如何最簡潔地將 的值分配$1給變量,否則為預設值?w$14

我試過

w=$(( $1 != "" ? $1 : 4))

但這回傳了一條錯誤訊息。

有沒有比更簡單的事情

w=4; [[ $1 != "" ]] && w=$1

答案1

使用以下形式的參數擴展${parameter:-word}

${parameter:-word}使用預設值。如果參數未設定或為空,則取代單字的擴展。否則,將替換參數的值。

w=${1:-4}

省略冒號會導致僅測試未設定的參數。

w=${1-4}

相關內容