-s
não é um comando por si só, mas uma opção para o comando test
, que também pode ser escrito como [ condition ]
. Talvez você tenha pensado que os colchetes são desnecessários, mas eles não são. O valor de retorno de test
depende da condição dentro de ser verdadeiro ou falso.
Do teste de manpage (1):
% bl0ck_qu0te%Você pode usar, por exemplo, o seguinte:
if [ -s "$file" ]; then
echo "$file is not empty."
elif [ -e $file ]; do
echo "$file is empty."
else
echo "$file does not exist."
fi
Ou algo assim:
[ -s "$file" ] && echo "$file is not empty." || echo "$file is empty."