- バックアップ一覧
- 差分 を表示
- 現在との差分 を表示
- ソース を表示
- シェルスクリプト/文法/条件分岐/testコマンド 論理演算子 AND OR NOT へ行く。
- 1 (2017-01-09 (月) 12:45:03)
testコマンド 論理演算子 AND OR NOT
AMD
n1=10; n2=7 if [ "$n1" -gt 5 -a "$n2" -gt 5 ]; then echo OK; fi
OR
n1=5; n2=10 if [ "$n1" -gt 7 -o "$n2" -gt 7 ]; then echo OK; fi
複雑な組み合わせ
n1=1; n2=10; n3=10 if [ \( "$n1" -gt 5 -a "$n2" -gt 5 \) -o "$n3" -gt 5 ]; then echo OK; fi
複雑な条件式の場合、複合コマンド[[]]を利用するのが無難。上のような通常のテストコマンドではn1が未定義などの場合、エラーが発生するので。
NOT
if [ ! -f /tmp/1.txt -a ! -f /tmp/2.txt ]; then echo "no 1.txt, no 2.txt" fi