Mit && - operator in einer if-Anweisung
Ich habe drei Variablen:
VAR1="file1"
VAR2="file2"
VAR3="file3"
Wie zu verwenden und ( &&
) - operator im if-Anweisung wie dieser:
if [ -f $VAR1 && -f $VAR2 && -f $VAR3 ]
then ...
fi
Wenn ich dieser code zu schreiben, es gibt Fehler. Was ist der richtige Weg?
InformationsquelleAutor Ziyaddin Sadigov | 2013-05-06
Du musst angemeldet sein, um einen Kommentar abzugeben.
So, um Ihren Ausdruck zu arbeiten, ändern
&&
für-a
wird den trick tun.Ist es richtig so:
oder wie
oder sogar
Finden Sie weitere details in dieser Frage bash : Mehrere Unäre Operatoren in if-Anweisung und einige Hinweise gegeben, wie Was ist der Unterschied zwischen test -, [ und [[ ?.
Beachten Sie, dass POSIX empfiehlt die Verwendung von
&&
und||
mit der single bracket-notation über-a
und-o
, so dass, wenn Sie schreiben portablen code zu gehen für die erste Schreibweise, da sonst die zweite und das überspringen der Dritten, vor allem, da es kann unangenehm und schwer zu Lesen, wenn Sie brauchen, um Ausdrücke zu gruppieren.InformationsquelleAutor fedorqui