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.