3 つの変数があります。
VAR1="file1"
VAR2="file2"
VAR3="file3"
&&
次のような if ステートメントでand ( ) 演算子を使用する方法:
if [ -f $VAR1 && -f $VAR2 && -f $VAR3 ]
then ...
fi
このコードを書くと、エラーが発生します。正しい方法は何ですか?
3 つの変数があります。
VAR1="file1"
VAR2="file2"
VAR3="file3"
&&
次のような if ステートメントでand ( ) 演算子を使用する方法:
if [ -f $VAR1 && -f $VAR2 && -f $VAR3 ]
then ...
fi
このコードを書くと、エラーが発生します。正しい方法は何ですか?
したがって、式を機能させるには、 &&
forを変更する-a
とうまくいきます。
次のように正しいです。
if [ -f $VAR1 ] && [ -f $VAR2 ] && [ -f $VAR3 ]
then ....
または好き
if [[ -f $VAR1 && -f $VAR2 && -f $VAR3 ]]
then ....
あるいは
if [ -f $VAR1 -a -f $VAR2 -a -f $VAR3 ]
then ....
詳細については、この質問bashで確認できます。if ステートメント内の複数の単項演算子と、テスト、[ と [[ の違いは何ですか? .