2016-04-30 9 views
1

は、この有無:変数値を条件付きで1行に設定する方法は?

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 

答えて

3

あなたはこのBASH構築物で、それを短縮することができます。

DATABASE_HOST="${3:-127.0.0.1}" 

man bashを1として:

${parameter:-word} 
    Use Default Values. If parameter is unset or null, the expansion of word is substituted. 
    Otherwise, the value of parameter is substituted. 
関連する問題