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 [[]] al escribir un if condición. He usado if sin [] o [[]] y funcionó bien.
Respuesta aceptada:
El -s la prueba devuelve verdadero si
[…] si el archivo existe y tiene un tamaño mayor que cero
Esto está documentado en el bash manual, y también en el manual para la test utilidad (la prueba también se puede escribir if test -s file; then ).
Para [ ... ] y [[ ... ]] , consulte:Bash:si hay confusión de sintaxis