シェル スクリプト チュートリアル [7] - シェル テスト コマンド
ディレクトリ: https://blog.csdn.net/shn111/article/details/131590488
参考チュートリアル: https://www.runoob.com/linux/linux-shell.html
オンラインエディター: https://www.runoob.com/try/runcode.php? filename=helloworld&type=bash
シェルのテストコマンドは、特定の条件が真であるかどうかを確認するために使用され、数値、文字、ファイルの 3 つのテストを実行できます。
数値テスト
パラメータ | 説明する |
---|---|
-eq | 等しい場合は true |
- は | 等しくない場合は true |
-gt | より大きい場合は true |
-ge | 以上の場合は True |
-lt | 未満の場合は true |
- | 以下の場合は true |
例:
num1=100
num2=100
if test $[num1] -eq $[num2]
then
echo '两个数相等!'
else
echo '两个数不相等!'
fi
# 两个数相等!
コードで[]
基本的な算術演算を実行する
a=5
b=6
result=$[a+b] # 注意等号两边不能有空格
echo "result 为: $result"
# result 为: 11
文字列テスト
パラメータ | 説明する |
---|---|
= | 等しい場合は true |
!= | 等しくない場合は true |
-z 文字列 | 文字列の長さがゼロの場合は True |
-n 文字列 | 文字列の長さがゼロでない場合は True |
例:
num1="ru1noob"
num2="runoob"
if test $num1 = $num2
then
echo '两个字符串相等!'
else
echo '两个字符串不相等!'
fi
# 两个字符串不相等!
ファイルテスト
パラメータ | 説明する |
---|---|
-e ファイル名 | ファイルが存在する場合は true |
-r ファイル名 | ファイルが存在し、読み取り可能な場合は True |
-w ファイル名 | ファイルが存在し、書き込み可能な場合は True |
-x ファイル名 | ファイルが存在し、実行可能な場合は True |
-s ファイル名 | ファイルが存在し、少なくとも 1 文字が含まれている場合は True |
-d ファイル名 | ファイルが存在し、ディレクトリである場合は True |
-f ファイル名 | ファイルが存在し、通常のファイルである場合は True |
-c ファイル名 | ファイルが存在し、キャラクタ型スペシャル ファイルである場合は True |
-b ファイル名 | ファイルが存在し、ブロック特殊ファイルである場合は True |
例 (この記事の冒頭でオンライン エディタでテストしました):
cd /bin
if test -e ./bash
then
echo '文件已存在!'
else
echo '文件不存在!'
fi
# 文件已存在!
さらに、シェルは、and (-a) または (-o) not (!) も提供します。テスト条件を接続するために 3 つの論理演算子が使用され、それらの優先順位は、最高、二番目、!
最低-a
です-o
。例えば:
cd /bin
if test -e ./notFile -o -e ./bash
then
echo '至少有一个文件存在!'
else
echo '两个文件都不存在'
fi
# 至少有一个文件存在!