Bashで文字列を比較する方法

How Compare Strings Bash



プログラミングの目的を変えるために、2つの文字列の値を比較する必要があります。組み込み関数は、2つの文字列の同等性をテストするために、多くのプログラミング言語で使用されています。を使用して、bash内の2つの文字列の等式と不等式を確認できます。 もしも 声明。 == 同等性をチェックするために使用され、 != 文字列の不等式をチェックするために使用されます。 bashでも2つの文字列の値を部分的に比較できます。このチュートリアルのさまざまな例を使用して、bashの文字列値を比較する方法を示します。

例-1:==演算子を使用した文字列の比較

他の標準的なプログラミング言語のように、bashで2つの文字列値が等しいかどうかをチェックする組み込みの比較関数はありません。次のスクリプトでは、2つの文字列変数、 strval1strval2 宣言されています。これらの2つの文字列変数の公平性は、最初の変数を使用してテストされます もしも スクリプトのステートメント。の値 strval1 2番目の値が等しいかどうかを確認するために文字列値と比較されます もしも 声明。







#!/ bin / bash

strval1=「Ubuntu」
strval2='ウィンドウズ'

#2つの文字列変数が等しいことを確認する

もしも [ $ strval1==$ strval2 ];それから
捨てた 「文字列は等しい」
そうしないと
捨てた 「文字列が等しくない」
なれ

#変数と文字列値が等しいかどうかを確認する

もしも [ $ strval1==「Ubuntu」 ];それから
捨てた 「Linuxオペレーティングシステム」
そうしないと
捨てた 「Windowsオペレーティングシステム」
なれ

出力:



最初の比較は等しくなく、2番目の比較は等しくなります。







例-2:!=演算子を使用した文字列の比較

次の例では、2つの文字列変数の不等式がチェックされています。ここでは、2つの値は等しくありません。したがって、条件が真になる場合、 Windowsオペレーティングシステム 印刷します。

#!/ bin / bash

strval1=「Ubuntu」
strval2='ウィンドウズ'

#変数と文字列値の不等式を確認する

もしも [ $ strval2 =「Ubuntu」 ];それから
捨てた 「Windowsオペレーティングシステム」
そうしないと
捨てた 「Linuxオペレーティングシステム」
なれ

出力:



例-3:部分的な文字列の比較

bashスクリプトでワイルドカード文字を使用して、部分的な値を比較できます。次のスクリプトでは、 * 部分一致のワイルドカード文字として使用されます。文字列変数、 strval 単語が含まれています インターネット。 だから、最初の もしも スクリプトのがtrueを返し、出力します 部分的に一致 。 Bashでは大文字と小文字が区別されます。このために、2番目 もしも 文字ごとの比較では等しくない部分的な文字列としてインターネットを使用すると、スクリプトのofはfalseを返します。

#!/ bin / bash

strval=「MicrosoftInternetExplorer」

もしも [[ $ strval==*インターネット* ]];
それから
捨てた 「部分的に一致」
そうしないと
捨てた '歯が立たない'
なれ

もしも [[ $ strval==*インターネット* ]];
それから
捨てた 「部分的に一致」
そうしないと
捨てた '歯が立たない'
なれ

出力:

例-4:文字列をユーザー入力値と比較する

プログラミングの目的で、ユーザーが取得した文字列値を特定の文字列値と比較する必要がある場合があります。次の例では、文字列データが入力としてユーザーから取得され、データの不等式が固定値と比較されます。条件が真の場合、印刷されます レコードが見つかりません 、それ以外の場合は印刷されます レコードが見つかりました

#!/ bin / bash

捨てた 'あなたの名前を入力してください'
読んだ入力

もしも [ $ input =「ファミダ」 ];
それから
捨てた 「レコードが見つかりません」
そうしないと
捨てた 「レコードが見つかりました」
なれ

出力:

このレッスンのビデオはこちらです:

上記の例を明確に理解して完了すると、bashでの文字列比較タスクが簡単になります。