Mitä -s ja [[]] tarkoittavat if-tilassa bashissa?

if [[ -s log.txt ]];

Mitä -s tarkoittaa? Tiedän -z tarkoittaa nollakokoista merkkijonoa. En löydä dokumentteja -s: stä.

Mitä [] tai [[]] tarkoittaa kirjoittaessasi ehtoa if. Olen käyttänyt if ilman [] tai [[]] ja se toimi hyvin.

Vastaa

-s -testi palauttaa arvon true, jos

[…] jos tiedostoa on ja on suurempi kuin nolla

Tämä on dokumentoitu bash -käyttöoppaassa ja myös test -apuohjelma (testi voidaan kirjoittaa myös if test -s file; then).

For [ ... ] ja [[ ... ]], katso: Bash – jos syntaksin sekaannusta

Vastaus

-s TIEDOSTO: – FILE on olemassa ja sen koko on suurempi kuin nolla.

[[…]] -osan avulla voidaan testata ehtoa operaattoreiden avulla. Ajattele sitä if-lausuntona. Esimerkissä käytät -s -operaattoria, joka testaa, ettei viitattu tiedosto ole tyhjä.

Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *