if [[ -s log.txt ]];
¿Qué significa -s? Sé que -z significa cadena de tamaño cero. No puedo encontrar ninguna documentación sobre -s.
Qué significa [] o [[]], mientras escribo una condición if
. He usado if
sin [] o [[]] y funcionó bien.
Respuesta
La prueba -s
devuelve verdadero si
[…] si el archivo existe y tiene un tamaño mayor que cero
Esto está documentado en el manual bash
, y también en el manual para la utilidad test
(la prueba también se puede escribir if test -s file; then
).
Para [ ... ]
y [[ ... ]]
, consulte: Bash – Si hay confusión de sintaxis
Respuesta
-s
ARCHIVO: – El ARCHIVO existe y tiene un tamaño mayor que cero.
La parte […] permite probar una condición utilizando operadores. Piense en ello como una declaración if. En su ejemplo, está utilizando el operador -s
, que prueba que el archivo referenciado no está vacío.