harry’s memorandum

おれおれメモ

シェルスクリプトで三項演算子ぽいやつ

むむ、/etc/init.d/functionsを見ていたら。
三項演算子っぽいことシェルスクリプトでもできるのね。
この歳になって気づくとは情けねー。


でも、変数に代入する際にはどっちが使い勝手よいのか微妙。

status=1
[ true ] && ret=0

[ true ] && ret=0 || ret=1


デバッグ変数用意しておいて、というのは便利かも。

_infomsg() {
  [ x${__debug} = "x" ] && return 0
  echo "info: $1"
};

_errmsg() {
  echo "error: $1"
};

false && _infomsg  "1:おれ問題なし" || _errmsg "1:おれエラー"
true  && _infomsg  "1:おれ問題なし" || _errmsg "1:おれエラー"

__debug=1
true  && _infomsg  "2:おれ問題なし" || _errmsg "2:おれエラー"
false && _infomsg  "2:おれ問題なし" || _errmsg "2:おれエラー"


とりあえず便利だね。