PhysifApps

趣味と開発メモ保管庫

if文のオプションのメモ【sh】

シェルスクリプトを使い始めてみたはいいけどちょくちょく忘れて見直したりするのでまとめてみました。違うとことかもっといい書き方とかあったら教えてください。

基本メモ

  • [ ]test のことを指す。
  • [ ]の間は if [ $hoge = $fuga ] って感じにスペース空けてないといけない。エラー出る。

演算子とか

文字列があるかを調べる

# 例
if [ -z ${hoge} ]; then
-n 文字列の文字数が0以上(0<)か
-z 文字列の文字数が0(=0) か

ファイル、ディレクトリを調べる

# 例
if [ -d ${hoge} ]; then
-dディレクトリかどうか
-fファイルかどうか
-eファイルが存在するかどうか
-r読み取りできるかどうか
-w書き込みできるかどうか
-x実行できるかどうか

数値を比較する

# 例
if [ ${hoge} -eq 0 ]; then
-eqequal 等しいなら
-nenot equal 等しくなかったら
-ltless than より小さいなら
-leless than or equal 以下なら
-gtgreater than より大きいなら
-gegreater than or equal 以上なら

文字列を比較する

# 例
if [ ${hoge} = &quot;fuga&quot; ]; then
=等しいなら
!=等しくないなら