LoginSignup
407
394

More than 5 years have passed since last update.

Bash の if 文(test文)のオプションを整理してみた

Last updated at Posted at 2017-07-12

毎回調べるので備忘として整理する。

数値の比較オプション

書式 : 数値△オプション△数値
例  : if [ ${hoge} -eq 0 ];then

オプション 説明 補足
-eq 等しければ真 equal
-ne 等しくなければ真 not equal
-lt より小なら真 less than
-le 以下なら真 less than or equal
-gt より大なら真 greater than
-ge 以上なら真 greater than or equal

文字列の比較オプション

書式 : 文字列△オプション△文字列
例  :  if [ "${hoge}" = "fuga" ];then

オプション 説明
= 等しければ真
!= 等しくなければ真

ファイル・ディレクトリのオプション

書式 : オプション△ファイルやディレクトリ
例  : if [ -d ${hoge} ];then

オプション 説明
-d ディレクトリなら真
-f 普通のファイルなら真
-s サイズが 0 より大きければ真
-e 存在するなら真
-r 読み取り可能なら真
-w 書き込み可能なら真
-x 実行可能なら真

文字列長のオプション

書式 : オプション△変数や文字列
例  :  if [ -z ${hoge} ];then

オプション 説明
-z 文字列長が 0 なら真
-n 文字列長が 0 より大なら真

その他使うやつ

引数の比較(getopts使わない)

例  : if [ $# -eq 2 ];then

変数 説明
$# 実行時に指定された引数の数
$1 実行時に指定された 1 番目の引数
$n 実行時に指定された n 番目の引数

実行結果の比較

例  : if [ $? -ne 0 ];then

変数 説明
$? 直前のコマンドの実行結果

シェル書いてると、いつも忘れてぐぐってることをここにまとめていこうと思います。

407
394
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
407
394