Amigos, estou precisando verificar em um certo momento de meu script se o arquivo está vázio, se estiver para tudo, senão manda bala.
Mas veja o que acontece quando tento de todas as maneiras ver isso:
Vendo via TEST
Código :root@www:/tmp# touch terra root@www:/tmp# test -z terra root@www:/tmp# echo $? 1 root@www:/tmp# echo conteudonoarquivo>terra root@www:/tmp# test -z terra root@www:/tmp# echo $? 1
Vejam que o arquivo terra estava com tamanho 0 quando efetuo um touch. Mas o resultado de vazio e cheio é o mesmo.
Veja agora usando o IF (que no meu caso irei usar ele).
Código :root@www:/tmp# touch terra root@www:/tmp# if [ -z terra ] ; then > echo SINALdeVIVO > fi root@www:/tmp# echo conteudonoarquivo>terra root@www:/tmp# if [ -z terra ] ; then > echo SINALdeVIVO > fi root@www:/tmp#
E com a opcao -N que é antonimo da -Z, vejam o resultado:
Código :root@www:/tmp# touch terra root@www:/tmp# if [ -n terra ] ; then echo SINALdeVIVO; fi SINALdeVIVO root@www:/tmp# echo conteudonoarquivo>terra root@www:/tmp# if [ -n terra ] ; then echo SINALdeVIVO; fi SINALdeVIVO root@www:/tmp#
Isso é palhaçada do meu S.O. ou será que essa verificação não é a que realmente estou procurando.?