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.