2

たとえば、「-」を含む 2 つの文字列を比較しようとしています。

if [[ "–change_team" == "${Args[2]}" ]]; then

「${Args[2]}」は「–change_team」

私はこのように「–change_team」を印刷しようとしました:

echo "–change_team"

そして私は次のとおりです:

âchange_team

if ステートメントは決して成功せず、「\」でエスケープしようとしましたが、うまくいきませんでした。ここで何か助けていただければ幸いです、ありがとう -Emad

4

1 に答える 1

2

ユーザー インターフェイスに使用されている文字によっては、ハイフンのように見える 8 ビット グラフィック文字がいくつかあります。あなたのif声明の場合:

if [[ "–change_team" == "${Args[2]}" ]]; then

あなたの「–change_team」文字列をコピーしてここで使用すると:

echo "–change_team" | od -c

私はこの結果を得ます:

0000000 342 200 223   c   h   a   n   g   e   _   t   e   a   m  \n
0000017

それが本当のハイフンである場合、次のようになります。

0000000 -   c   h   a   n   g   e   _   t   e   a   m  \n
0000017

したがって、元のスクリプトでは、比較で使用されている「ハイフン」文字は適切なハイフンではありません。

于 2013-12-21T14:11:29.720 に答える