1. ホーム
  2. string

[解決済み] Bashで文字列を比較する方法

2022-03-18 04:46:28

質問

変数と文字列を比較する(一致したら何かする)にはどうしたらいいですか?

どのように解決するのですか?

if文での変数の使用

if [ "$x" = "valid" ]; then
  echo "x has the value 'valid'"
fi

一致しないときに何かしたいときは =!= . について詳しく説明します。 文字列操作 算術演算 をそれぞれのドキュメントで紹介しています。

を引用符で囲むのはなぜですか? $x ?

を引用符で囲む必要があります。 $x というのは、この部分が空だと、Bashスクリプトは以下のような構文エラーになるからです。

if [ = "valid" ]; then


の非標準的な使用 == 演算子

なお、Bashでは == と同等に使用することができます。 [ しかし これは標準的ではありません。 .

を引用符で囲む場合は、最初のケースを使用します。 $x は省略可能です。

if [[ "$x" == "valid" ]]; then

を使用するか、2番目のケースを使用します。

if [ "$x" = "valid" ]; then