No bash $?
, você obtém o código de retorno do comando anterior. Se o comando anterior foi bem sucedido, o código de retorno é zero diferente de zero.
No exemplo a seguir, estou procurando uma string em um arquivo com caso de sucesso e falha. Você pode usar essa lógica no seu script.
Conteúdo do meu script test.sh
grep "grapes" file1 > /dev/null
if [ $? -eq 0 ]
then
echo "Success. Perform success action"
elif [ $? -ne 0 ]
then
echo "Failure.. Do Failure action"
fi
A seguir, a execução da amostra:
#cat file1
apple
grapes
#sh test.sh
Success. Perform success action
#cat file1
apple
#sh test1
Failure.. Do Failure action