if [[ -s log.txt ]];
Ce înseamnă -s? Știu -z înseamnă șir de dimensiuni zero. Nu găsesc nicio documentație despre -s.
Ce înseamnă [] sau [[]], în timp ce scriu o condiție if
. Am folosit if
fără [] sau [[]] și a funcționat bine.
Răspuns
Testul -s
returnează adevărat dacă
[…] dacă fișierul există și are o dimensiune mai mare de zero
Aceasta este documentată în manualul bash
și, de asemenea, în manualul pentru utilitarul test
(testul poate fi scris și if test -s file; then
).
Pentru [ ... ]
și [[ ... ]]
, vezi: Bash – Dacă confuzie de sintaxă
Răspuns
-s
FIȘIER: – FIȘIER există și are o dimensiune mai mare decât zero.
Partea [[…]] permite testarea unei stări folosind operatori. Gândiți-vă la asta ca la o afirmație if. În exemplul dvs., utilizați operatorul -s
, care testează că fișierul la care se face referință nu este gol.