Se gpg
retornar um código de saída diferente de zero quando ocorrer um erro, você poderá verificar isso. Para tentar, execute o comando gpg
, obtenha uma condição de erro e, em seguida, (assumindo bash
), insira echo $?
. Se a saída não for 0
, o seguinte só executará rm
se o comando anterior (neste caso gpg
) tiver sido bem-sucedido:
if [[ $? -eq 0 ]] ; then
rm "$1"
fi
Como alternativa, você pode verificar se o arquivo .gpg
existe antes de você rm
do arquivo de texto.
if [[ -f "$1.gpg" ]] ; then
rm "$1"
else
echo "$1.gpg not found, keeping the text file"
fi
Você poderia combinar as duas abordagens, certificando-se de que gpg
teve sucesso e o outro arquivo existe.
Note que você deve citar qualquer uso de variáveis (veja meu código como exemplo), caso contrário, seu script se comportará de maneira estranha com nomes de arquivo contendo, por exemplo, espaços.