if [[ -s log.txt ]];
Hva betyr -s? Jeg vet -z betyr streng i null størrelse. Jeg finner ingen dokumentasjon på -s.
Hva betyr [] eller [[]] mens jeg skriver en if -tilstand. Jeg har brukt if uten [] eller [[]], og det fungerte bra.
Svar
-s -testen returnerer true hvis
[…] hvis filen eksisterer og har en størrelse større enn null
Dette er dokumentert i bash manualen, og også i håndboken for test verktøyet (testen kan også skrives if test -s file; then).
For [ ... ] og [[ ... ]], se: Bash – Hvis syntaksforvirring
Svar
-s FIL: – FIL eksisterer og har en størrelse større enn null.
[[…]] -delen lar deg teste en tilstand ved hjelp av operatører. Tenk på det som et if-utsagn. I eksemplet ditt bruker du operatøren -s, som tester at den refererte filen ikke er tom.