Bash の 'if' ステートメントで 2 つの文字列変数を比較するにはどうすればよいですか? [重複] 質問する

Bash の 'if' ステートメントで 2 つの文字列変数を比較するにはどうすればよいですか? [重複] 質問する

私はif声明を機能させようとしていますバッシュ(使用ウブントゥ):

#!/bin/bash

s1="hi"
s2="hi"

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

、引用符付きと引用符なし、、および をif使用したさまざまな形式のステートメントを試しましたが、それでも次のエラーが発生します。[["$s1" == "$s2"]]===-eq

[こんにちは: コマンドが見つかりません

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

$s1最終的に、が含まれているかどうかを知りたいのです$s2が、どうすればよいでしょうか?

スペースの部分だけは解決しました... :/ 「contains」とはどう言うのですか?

私は試した

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

しかし、それは機能しませんでした。

ベストアンサー1

文字列の等価性を比較するには、次を使用します。

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

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

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

acontainsの場合はb、次を使用します。

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

(記号の間には必ずスペースを入れてください):

悪い:

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

良い:

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

おすすめ記事