テストステートメントでbashの文字列と数値を比較する?

テストステートメントでbashの文字列と数値を比較する?

どんな比較をしているのかよくわかりません。

   if [ "$exit_status" -eq 0 ];then
   #some statements
   fi

変数がexit_statusゼロと比較して文字列になるように数値または引用符を比較する正しい方法ですか?場合によっては、これが失敗するかどうかわかりません。

ベストアンサー1

はい、そうです。

シェルの引用符は、他の言語の引用符とは異なる目的に使用されます。バラよりこの回答詳細については。

シェルは引用符を使用して、シェルが特定の文字を特別に処理しないようにし、特定の種類の拡張(この場合は変数の拡張など)に対して特定の操作を実行しないようにします。

通常、この場合はコマンドの引数、つまりその変数の内容"$exit_status"に拡張しようとしているため、引用符が必要です。[

おすすめ記事