2013-05-06 1 views

答えて

95

あなたの表現を機能させるために、-a&&を変更すると、このトリックが実行されます。

このように正しいです:あなたは、さらにこの質問bash : Multiple Unary operators in if statementのディテールなどが挙げいくつかの参照を見つけることができます

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 .... 

What is the difference between test, [ and [[ ?

+1

ありがとうございます。私はすぐに答えを受け入れるようにします! ;) –

+8

[POSIX](http://pubs.opengroup.org/onlinepubs/000095399/utilities/test.html#tag_04_140_16)は、 '&&'と '||'を ' -a'と '-o'を使用しているので、移植可能なコードを書いている場合は、最初の表記を行い、そうでない場合は2番目の表記をスキップします。特に、式をグループ化する必要がある場合は、読みにくく、 –

関連する問題