シェル スクリプト チュートリアル [7] - シェル テスト コマンド

シェル スクリプト チュートリアル [7] - シェル テスト コマンド


ディレクトリ: https://blog.csdn.net/shn111/article/details/131590488

参考チュートリアル: https://www.runoob.com/linux/linux-shell.html

オンラインエディター: https://www.runoob.com/try/runco​​de.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
# 至少有一个文件存在!

おすすめ

転載: blog.csdn.net/shn111/article/details/131590971