Hva betyr -s og [[]] i en if-tilstand i bash?

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.

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *