1. ホーム
  2. bash

[解決済み] if文での&&演算子の使用

2023-03-06 22:44:22

質問

3つの変数があります。

VAR1="file1"
VAR2="file2"
VAR3="file3"

との使い分け( && ) 演算子を使う方法です。

if [ -f $VAR1 && -f $VAR2 && -f $VAR3 ]
   then ...
fi

このコードを書くと、エラーが発生します。正しい方法は何ですか?

どのように解決するのですか?

というわけで、この式を実現するために &&-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文での複数の単項演算子について というように、いくつかのリファレンスがあります。 test, [ と [[ の違いは何ですか? .