if [[ -s log.txt ]];
Vad betyder -s? Jag vet -z betyder sträng med nollstorlek. Jag hittar ingen dokumentation på -s.
Vad betyder [] eller [[]] när jag skriver ett if -villkor. Jag har använt if utan [] eller [[]] och det fungerade bra.
Svar
-s testet returnerar true om
[…] om filen finns och har en storlek större än noll
Detta dokumenteras i bash manualen och även i manualen för verktyget test (testet kan också skrivas if test -s file; then).
För [ ... ] och [[ ... ]], se: Bash – Om syntaxförvirring
Svar
-s FIL: – FIL finns och har en storlek större än noll.
[[…]] -delen gör det möjligt att testa ett tillstånd med operatörer. Tänk på det som ett if-uttalande. I ditt exempel använder du operatorn -s, som testar att den refererade filen inte är tom.