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