Você não precisa (auto-) referenciar o próprio script. Você sabe que deve existir. Você só precisa ver se o arquivo log existe. Portanto, use o -f test ("FILE existe e é um arquivo regular"). Veja man test para mais informações ( test é essencialmente equivalente a [...] ).
if [ -f "log" ]
then
echo ""
else
echo "error"
exit 0
fi
Se o arquivo log for fornecido pelo argumento ao chamar o script (por exemplo, $ ./file log ), você poderá consultar o primeiro argumento com $1 . Portanto,
if [ -f "$1" ]