if [[ -s log.txt ]];
Hvad betyder -s? Jeg ved -z betyder streng i nul størrelse. Jeg kan ikke finde nogen dokumentation på -s.
Hvad betyder [] eller [[]], mens jeg skriver en if
-tilstand. Jeg har brugt if
uden [] eller [[]], og det fungerede fint.
Svar
-s
-testen returnerer sandt, hvis
[…] hvis filen findes, og har en størrelse større end nul
Dette er dokumenteret i bash
manualen og også i manualen til test
-værktøjet (testen kan også skrives if test -s file; then
).
For [ ... ]
og [[ ... ]]
, se: Bash – Hvis syntaksforvirring
Svar
-s
FIL: – FIL findes og har en størrelse større end nul.
[[…]] -delen gør det muligt at teste en tilstand ved hjælp af operatorer. Tænk på det som et if-udsagn. I dit eksempel bruger du -s
-operatoren, som tester, at den refererede fil ikke er tom.