在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}