9

非常に似ていますが、重複していません: https://stackoverflow.com/a/2172367/57883

私は Git Bash 3.1 を使用しています (少なくとも、git bash 内で bash と入力すると、プロンプトに表示されます。

印刷に$ test [["DEV-0" == D*]] || echo 'fail'失敗します。

if [['DEV-0-1' == DEV* ]]; then echo "yes";DEVで始まる何かを返すか[[DEV-0-1: command not found どうかをテストしようとしていると言います。git branchしかし、私は答えを適用できないようです。私の試みはすべて、変数値の代わりに左側の文字列リテラルを使用しているためですか?

ideone でも試してみましたhttp://ideone.com/3IyEND

そして運がない。Linuxプロンプトに慣れてから約14年になります。

文字列が bash の test で始まるのに何が欠けていますか?

4

2 に答える 2

12

あなたはそこのスペースを逃しました:

 if [[ 'DEV-0-1' == DEV* ]]; then echo "yes"; fi
      ^^
于 2013-03-14T19:12:44.640 に答える
6

私はおそらく次のようにチェックをしたいと思います:

s1=DEV-0-1
s2=DEV

if [ "${s1:0:${#s2}}" == "$s2" ]; then
  echo "yes"
fi
于 2013-03-14T20:54:28.373 に答える