予想される条件付きバイナリ演算子

予想される条件付きバイナリ演算子
var="$(command1 -l '$var2' -c 'command2|grep -c "search"')"
if [[ var !=0 ]]; then
fi

「条件付きバイナリ演算子が必要です」というメッセージが表示されるのはなぜですか?検索しました。 [[]]はテスト文のようですが、なぜ動作しませんか?

ベストアンサー1

  1. $それを呼び出すと、あなたが書いたようにvarの前で失われます。実際にはですvar
  2. 考える考えられる脆弱性[[ ... ]](( ... ))制御できない変数で使用または使用されるスクリプト。あなたの場合は、使用する方が良いかもしれません[ "$var" -ne 0 ]
  3. !=との間にスペースはありません0(これはエラーの原因です!)。
  4. !=文字列比較演算子、あなたの例ではうまくいくかもしれませんが、それを使って整数を比較しようとしてい-neます。

使用住宅検査

おすすめ記事