if [[ -s log.txt ]];
Que signifie -s? Je sais que -z signifie une chaîne de taille zéro. Je ne trouve aucune documentation sur -s.
Que signifie [] ou [[]] lors de lécriture dune condition if. Jai utilisé if sans [] ou [[]] et cela a bien fonctionné.
Réponse
Le test -s renvoie vrai si
[…] si le fichier existe et a une taille supérieure à zéro
Ceci est documenté dans le manuel bash, ainsi que dans le manuel de lutilitaire test (le test peut également être écrit if test -s file; then).
Pour [ ... ] et [[ ... ]], voir: Bash – En cas de confusion de syntaxe
Réponse
-s FILE: – FILE existe et a une taille supérieure à zéro.
La partie [[…] permet de tester une condition à laide dopérateurs. Considérez-le comme une déclaration if. Dans votre exemple, vous « utilisez lopérateur -s, qui teste que le fichier référencé nest pas vide.