Como aponta, você está usando desnecessariamente ls
. Seu script pode ser escrito da seguinte forma:
#!/bin/bash
file1='/tmp/file1'
file2='/tmp/file2'
if [[ -e "$file1" ]]; then
echo "file1 exists" | tee -a job.log
else
echo 'ls: cannot access /tmp/file1: No such file or directory' >>err.log
fi
if [[ -e "$file2" ]]; then
echo "file2 exists" | tee -a job.log
else
echo 'ls: cannot access /tmp/file2: No such file or directory' >>err.log
fi
[[ ! -e "$file1" && ! -e "$file2" ]] && echo "neither $file1 or $file2 exists"
Os erros ls provavelmente devem ser alterados, mas é o que você queria ver no seu arquivo de erro, então eu os deixei:)