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.