if 文と test コマンド
参考:
シェルスクリプト (bash) の if 文と test コマンド ([]) 自分メモ – Qiita
if 文と test コマンド | UNIX & Linux コマンド・シェルスクリプト リファレンス
シェルスクリプト 条件分岐 if 文 | server-memo.net
Bash で if ~ then ~ else ~ fi 文使う場合に忘れちゃならないこと – Qiita
test コマンドにおける演算子
参考:
Bash の if 文 (test 文) のオプションを整理してみた – Qiita
シェルスクリプト (bash) の if 文や while 文で使う演算子について – Qiita
数値の比較
-eq
:等しい (=)-ne
:等しくない (≠)-lt
:左辺が右辺より小さい (<)-le
:左辺が右辺より小さいか等しい (≦)-gt
:左辺が右辺より大きい (>)-ge
:左辺が右辺より大きいか等しい (≧)
参考:
if 文と test コマンド | UNIX & Linux コマンド・シェルスクリプト リファレンス
ワイルドカード/正規表現
キーワードを含む場合の判定
if [[ $str =~ .*keyword.* ]]; then echo "OK: str has keyword"; fi
キーワードを含まない場合の判定
if ! [[ $str =~ .*keyword.* ]]; then echo "NO: str does not have keyword"; fi
参考:
bash で if に正規表現を使った文字列マッチ条件分岐 | それマグで!
シェルスクリプトでの正規表現を使ったバリデーション | unhurried
bash の if 文でワイルドカード・正規表現を用いて条件判断をさせる | 俺的備忘録 〜なんかいろいろ〜
bash で正規表現 ある文字列を含んである文字列を含まない – Qiita
文字列 A に文字列 B が含まれるか.sh – GitHub Gist
シェルスクリプトで正規表現がうまくいかない原因 – Qiita
エラー処理
fail || { echo "error"; exit 1; }
参考:
終了ステータス | UNIX & Linux コマンド・シェルスクリプト リファレンス (SUNONE)
コマンドの終了ステータスを判定して何かしたい時のイディオム | ハックノート
if 文でコマンド実行結果の戻り値を判定する | 四角革命前夜
$?
参考: