Saída diferente de zero indica um erro. Zero indica sucesso. Tentar remover um arquivo que não existe, enquanto falha, é tão bom na maioria dos casos quanto removê-lo, então cabe ao seu script decidir se essas coisas devem ser tratadas como fracasso ou sucesso.
Então, quais números você deve usar? Em todos os meus 30 + anos usando o Unix, nunca vi um padrão. O que é importante para maior clareza se os outros estão usando seu script é que você usa apenas um único código de saída para falha ou define o significado desse código de saída. A definição pode ser incluída por muitos meios. Uma maneira é fazer eco do código de saída junto com uma lista de possíveis causas para o erro padrão, como em
echo -e "Return code Error: " $Error "\n Possible errors are\n" \
"1 = missing parameter\n" \
"2 = Could not do what you wanted \n" >&2
É claro que existem muitas alternativas, como documentar erros no código com comentários (melhor colocá-lo no script e não espalhados) ou fazer um parâmetro opcional ao script como em
$myscript -error [other parameters if any]
que imprime todos os possíveis erros.
Eu usei códigos de erro de scripts chamados por outros scripts para serem informações de retorno:
0 sendo sucesso, Positivo sendo erro, Negativo não significa erro, mas ações especiais precisam ser tomadas
Isso não é bom se o script chamado for executado diretamente, pois pode confundir o usuário, mas o script chamado pode verificar essa condição.