Basta adicionar um explícito:
exit 0
no final do seu script, se você não quiser denunciar qualquer falha.
Você também pode fazer:
#! /bin/sh -
ret=0
cmd || ret=$? # we care about the failure of cmd
test -n "" && echo test # we don't care about the failure of test or echo
exit "$ret"
Para o seu exemplo específico, você pode reescrevê-lo:
test -z "" || echo test passed
(isso ainda reportaria um erro se echo
falhasse, mas você pode querer denunciar esse erro, pois isso indicaria algo ruim)
Ou:
test -n "" && echo test passed || : ignore
O comando :
sempre retorna com um status de saída sucesso .