カテゴリー
FreeBSD

シェルスクリプトつれづれ: 定義されていたらhoge、いなければ空文字列

jail周りを追いかけていて知った知識を小出しにしてアクセス数を稼ぐメソッド。

/etc/rc.d/jail にこんなコードがあった。ちょうどjailを起動するコマンドの部分。

eval ${_setfib} jail -n ${_jail} ${_flags} -i -c path=${_rootdir} host.hostname=${_hostname} \
                        ${_addrl:+ip4.addr=\"${_addrl}\"} ${_addr6l:+ip6.addr=\"${_addr6l}\"} \
                        ${_parameters} command=${_exec_start} > ${_tmp_jail} 2>&1 \
                        > /dev/null

${_addrl:+ip4.addr=\”${_addrl}\”} とはなんだろう、と思っていろいろ調べた結果、この部分は
「変数_addrlが定義されていれば ip4.addr=”${_addrl}” に。定義されていなければ空文字列」
という意味になるらしい。

Share this...