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ä.