有这个:
DATABASE_HOST=[ $# -le 3 ] && $3 || '127.0.0.1';
但不起作用。是一个带有3个可选参数的bash脚本:
db.sh user dbname hostname
我想替换旧方法:
if [ $# -le 3 ]
then
DATABASE_HOST=$3;
else
DATABASE_HOST='127.0.0.1';
fi
答案 0 :(得分:4)
您可以使用此BASH构造缩短它:
DATABASE_HOST="${3:-127.0.0.1}"
根据man bash
:
${parameter:-word}
Use Default Values. If parameter is unset or null, the expansion of word is substituted.
Otherwise, the value of parameter is substituted.