Bash:ドル記号を含むテスト文字列

Bash:ドル記号を含むテスト文字列

テストコマンドでドル記号$の奇妙な動作を説明できる人はいますか?

[ "$a" != "$b" ]
echo $?
1
[ "$a" != "b" ]
echo $?
0

なぜtest "$a" != "$b" ゼロではなく1を返しますか?

ベストアンサー1

$変数や特殊パラメータ(など)などのパラメータを拡張するために使用できるbashの特殊文字。$?二重引用符で囲まれた文字列で使用するには\

$ [ "\$a" != "\$b" ]
$ echo "$?"
0

または、二重引用符の代わりに一重引用符(特に扱われる文字がない場合)を使用してください。

$ [ '$a' != '$b' ]
$ echo "$?"
0

おすすめ記事