if [[ -s log.txt ]];
Was bedeutet -s? Ich weiß, -z bedeutet Zeichenfolge mit der Größe Null. Ich kann keine Dokumentation zu -s finden.
Was bedeutet [] oder [[]] beim Schreiben einer if
-Bedingung. Ich habe if
ohne [] oder [[]] verwendet und es hat gut funktioniert.
Antwort
Der -s
-Test gibt true zurück, wenn
[…] wenn eine Datei vorhanden ist und hat eine Größe größer als Null
Dies ist im bash
Handbuch und auch im Handbuch für dokumentiert das Dienstprogramm test
(der Test kann auch if test -s file; then
geschrieben werden).
Für [ ... ]
und [[ ... ]]
, siehe: Bash – Wenn Syntaxverwirrung
Antwort
-s
DATEI: – DATEI existiert und hat eine Größe größer als Null.
Mit dem […] Teil können Sie eine Bedingung mithilfe von Operatoren testen. Betrachten Sie es als eine if-Anweisung. In Ihrem Beispiel verwenden Sie den Operator -s
, der prüft, ob die referenzierte Datei nicht leer ist.