1. ホーム
  2. bash

[解決済み] Bashの'if'文の中で2つの文字列変数を比較する方法は?重複

2022-03-14 20:36:09

質問

を取得しようとしています。 if ステートメントが動作するように バッシュ (を使用)。 Ubuntu ):

#!/bin/bash

s1="hi"
s2="hi"

if ["$s1" == "$s2"]
then
  echo match
fi

をいろいろな形で試してみました。 if ステートメントを使用し [["$s1" == "$s2"]] を使用し、引用符で囲んだり囲まないでください。 = , ==-eq が、まだ以下のようなエラーが出ます。

[hi: コマンドが見つかりません

いろいろなサイトやチュートリアルを見て、それらをコピーしましたが、うまくいきません - 何が間違っているのでしょうか?

最終的には、もし $s1 を含む $s2 ということですが、どうすればいいのでしょうか?

空白の部分はうまくいったのですが... :/ どうやったら が含まれています。 ?

試してみた

if [[ "$s1" == "*$s2*" ]]

が、うまくいかなかった。

どうすればいいですか?

文字列の等価比較には、以下を使用します。

if [[ "$s1" == "$s2" ]]

文字列が等しくない場合の比較には、以下を使用します。

if [[ "$s1" != "$s2" ]]

については a が含まれています。 b を使用します。

if [[ $s1 == *"$s2"* ]]

(そして、記号の間にスペースを入れるようにします)。

悪い

if [["$s1" == "$s2"]]

よかった

if [[ "$s1" == "$s2" ]]