Você não precisa analisar ls
para determinar se existe um arquivo.
help test
diria a você:
-e FILE True if file exists.
Você poderia dizer:
if [ -e sample01.log ]
then
echo "File Found" > lsOutput.log
else
echo "File Not Found" > lsOutput.log
fi
Se você quiser garantir que o arquivo seja normal, use -f
:
-f FILE True if file exists and is a regular file.
(O que você fez também funciona, mas faz com que ls
emita uma mensagem de erro (para STDERR
), o que talvez o leve a pensar que não funciona.)