shell中变量的默认值
我们在写脚本时候经常需要用到变量默认值,一般会这样写
if [ ! $var ]; then
$val="defalut"
fi
这种写法在少量变量需要判断时候没关系,多了整个代码看起来就很累人。
另外一种办法一行代码解决这个问题
1.当VAR为null或空字符串,将返回默认值,但是不改变VAR的具体值
VAR=${VAR:-default}
2.当VAR为null或空字符串,将返回默认值,并且改变VAR的值
VAR=${VAR:=default}
3.当VAR没有定义时,或定义值为空,将在终端报错后退出,用来检查是否定义以及是否为空
VAR=${VAR:?default}
4.当VAR定义并且不为空,用default替换VAR的值,否则什么也不做,与${VAR:-default}的用途相反
VAR=${VAR:+value}