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}

相关内容