初心者のWEBデザイン

HTML,CSS、その他WEBデザインに関する事を記述していきます。

Shell Script 比較一覧

testコマンドで使用する比較の一覧を記述します。

文字列の比較

演算子 内容
str1 = str2 str1とstr2が等しい
str1 == str2 str1とstr2が等しい
str1 != str2 str1とstr2が等しくない
-n str1 str1が空文字列ではない
-z str1 = str2 str1が空文字列である
str1 < str2 str1がstr2よりも辞書順で前にある
str1 > str2 str1がstr2よりも辞書順で後にある

整数の比較

演算子 内容 英語
int1 -eq int2 int1とint2が等しい Equal to
int1 -ne int2 int1とint2が等しくない Not equal to
int1 -lt int2 int1がint2より等しい Less than
int1 -le int2 int1がint2以下 Less than or Equal to
int1 -gt int2 int1がint2より等しい Greater than
int1 -ge int2 int1がint2以上 Greater than or Equal to

ファイル属性の評価

-a file fileが存在する(-eと同じ)
-b file ブロック特殊ファイルである
-c file キャラクター特殊ファイルである
-d file ディレクトリである
-e file 存在する(-eと同じ)
-f file 通常のファイルである
-g file set-group-idが設定されている
-h file シンボリックリンクである(-Lと同じ)
-k file stickyビットが設定されている
-p file 名前付きパイプ(FIFO)である
-r file 読み取りパーミッションが与えられている
-s file ファイルサイズが-より大きい
-t 番号 指定された番号のファイルディスクリプタが開かれていて、端末を参照している
-u file set-user-idが設定されている
-w file 書き込みパーミッションが与えられている
-x file 実行パーミッションが与えられている
-G file ファイルのグループが現在実行中のシェルのグループに所属している
-L file シンボリックリンクである(-hと同じ)
-N file 変更時刻が読み込み時刻以降である
-O file ファイルのオーナーが現在実行中のシェルのユーザーである
-S file ソケットである
file1 -nt file2 file1の変更時刻がfile2より新しい
file1 -ot file2 file1の変更時刻がfile2より古い
file1 -ef file2 file1とfile2のiノード番号が等しい
  • bから-Sまで(-tを除く)はファイルが存在して且つ条件を満たせばTrueとなる