Hvad betyder -s og [[]] i en if-tilstand i bash?

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.

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *