O teste -s
retorna verdadeiro se
[...] if file exists and has a size greater than zero
Isso está documentado no manual bash
e também no manual do utilitário test
(o teste também pode ser escrito em if test -s file; then
).
Para [ ... ]
e [[ ... ]]
, consulte: Bash - Se a confusão de sintaxe