English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Shellのtestコマンドは、ある条件が成立するかどうかを確認するために使用されます。それは数値、文字、ファイルの三つの面でテストを行うことができます。
パラメータ | 説明 |
---|---|
-eq | 等しいであれば真 |
-ne | 不一致であれば真 |
-gt | 以上であれば真 |
-ge | 以上であれば真 |
-lt | 以下であれば真 |
-le | 以下であれば真 |
num1=100 num2=100 if test $[num1] -eq $[num2] then echo '二つの数は等しい!' else echo '二つの数は不一致!' fi
出力結果:
二つの数は等しい!
コード中の[]は基本的な算術演算を実行します、例えば:
#!/bin/bash a=5 b=6 result=$[a+b] # 注意:等号の両側にスペースは入れることができません echo "result が: $result"
結果は:
result が: 11
パラメータ | 説明 |
---|---|
= | 等しいであれば真 |
!== | 不一致であれば真 |
-z 文字列 | 文字の長さが0であれば真 |
-n 文字列 | 文字列の長さが0でない場合が真 |
num1="ru1noob" num2="w3codebox" if test $num1 = $num2 then echo '2つの文字列が一致しています!' else echo '2つの文字列が異なる!' fi
出力結果:
2つの文字列が異なる!
パラメータ | 説明 |
---|---|
-e ファイル名 | ファイルが存在する場合が真 |
-r ファイル名 | ファイルが存在し、読み取り可能である場合が真 |
-w ファイル名 | ファイルが存在し、書き込み可能である場合が真 |
-x ファイル名 | ファイルが存在し、実行可能である場合が真 |
-s ファイル名 | ファイルが存在し、少なくとも1つの文字がある場合が真 |
-d ファイル名 | ファイルが存在し、ディレクトリである場合が真 |
-f ファイル名 | ファイルが存在し、通常ファイルである場合が真 |
-c ファイル名 | ファイルが存在し、キャラクタ特殊ファイルである場合が真 |
-b ファイル名 | ファイルが存在し、ブロック特殊ファイルである場合が真 |
cd /bin if test -e./bash then echo 'ファイルが存在しています' else echo 'ファイルが存在しません' fi
出力結果:
ファイルが存在しています!
また、Shellは( -a )、または( -o )、非( ! )の3つの論理演算子を使用してテスト条件を結合し、優先順位は:! が最も高い, -a 次に低い, -o 最も低い。例えば:
cd /bin if test -e./notFile -o -e./bash then echo '少なくとも1つのファイルが存在しています!' else echo '2つのファイルはどちらも存在しません' fi
出力結果:
少なくとも1つのファイルが存在しています!