: – 实际上是一个运算符,它表示如果没有设置$1(脚本的第一个参数)或为null,则使用/ tmp作为$DIR的值,如果设置了它,则将其值分配给$DIR.
DIR=${1:-"/tmp"}
是的缩写
if [ -z $1 ]; then DIR='/tmp' else DIR="$1" fi
它可以与任何变量一起使用,而不仅仅是位置参数:
$echo ${HOME:-/tmp} # since $HOME is set it will be displayed. /home/codaddict $unset HOME # unset $HOME. $echo ${HOME:-/tmp} # since $HOME is not set,/tmp will be displayed. /tmp $