こんにちは私は3つの条件を満たす必要のあるbashスクリプトをチェックしようとしています。しかし、私が& &オペレータを使っていくつかの算術を使って3番目のチェックを実装したいとき、スクリプトは起動されません。Bashのif文で算術演算を使用する方法
DOUBLE_CHECK=0
if [[ -z "$avail" && "$WIFI_ID" == "some_str" && 'expr $DOUBLE_CHECK % 2' -eq "0"]]; then
sudo caffeinate xterm -geometry 70x20+0+0 -fa monospace -fs 8 -e './script1.sh' & disown
fi
(($DOUBLE_CHECK++))
アイデアは、それがif文
#3の推奨が有効ではないと思います。 Bashの条件は論理演算子をサポートしていますが、標準の '['テストで '-a'や' -o'とは異なります。 – Fred
'[[" A "==" A "]] && [[" "B" == "B"]] &&エコー 'foo''は私のために働く –
はい、動作します。あなたが提案する代替構文が間違っていると言っているわけではありません。私の主張は、論理演算子を条件文の外に置くことを推奨するのは良いアドバイスだとは思わないと言いました。それが(それかもしれない)なら、それは私にとって新しいものです。 – Fred