Ich bin neu zu bash Scripting und lernen durch einige Beispiele. Eines der Beispiele, die ich sah unter Verwendung einer if-Anweisung zu testen, ob eine zuvor zugewiesene Ausgabedatei gültig ist, wie folgt aus:Was macht diese if-Anweisung von einem Bash-Skript?
if [ -n "$outputFile" ] && ! 2>/dev/null : >> $outputFile ; then
exit 1
fi
Ich verstehe, was [ -n "$outputFile" ]
tut, aber nicht den Rest des bedingten. Kann jemand erklären, was ! 2>/dev/null : >> $outputFile
bedeutet/tut?
Ich habe nach Antworten gegoogelt, aber die meisten gefundenen Links waren Erklärungen zur I/O-Umleitung, die definitiv relevant sind, aber immer noch unklar über die Struktur ! : >>
.
Wo haben Sie es gesehen? Und was hat es gesagt? –
Könnte als 'if [[$ outputFile]] && [[! -w $ Ausgabedatei]]; dann Ausgang; fi' –
@glennjackman: '-w' nimmt an, dass die Datei bereits existiert, also ist es nicht genau dasselbe. – FatalError