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.