;
と &&
と ||
について備忘録を残す
;
セミコロン
使い方 command1 ; command2
意味 command1
を実行後、その終了ステータスにかかわらず command2
を実行する
sample
$ true ; echo $? 0 $ false ; echo $? 1 $
&&
使い方 command1 && command2
意味 command1
が正常終了したら command2
を実行する
sample
$ true && echo $? 0 $ false && echo $? $
||
(2重パイプ)
使い方 command1 || command2
意味 command1
が正常終了しなかったら command2
を実行する
sample
$ true || echo $? $ false || echo $? 1 $
応用
ファイルが存在していれば削除する
_file="/path/to/file" [ -f ${_file} ] && rm -v ${_file}
ディレクトリがなければ作る
_dir="/path/to/dir" [ -d ${_dir} ] || mkdir -pv ${_dir}
当然ファイルがなければ作るという場合にも同じように使える
one line if
if true ; then echo "TRUE" ; else echo "FALSE" ; fi TRUE $ if false ; then echo "TRUE" ; else echo "FALSE" ; fi FALSE $
for
$ for i in $(seq 1 3) ; do echo $i ; done 1 2 3 $
ディレクトリを作成して正常終了したら移動する
mkdir -v "/path/to/dir" && cd $_