Quero testar meu script com um comando que falha. Eu poderia usar um comando existente com argumentos ruins. Eu também poderia escrever um script simples que saia imediatamente com uma falha. Ambos são fáceis de fazer e funcionam para mim, mas se houver um comando padrão para esse fim, eu gostaria de usá-lo.
42
false
, mas também qualquer comando inexistente.Respostas:
Você pode usar
false
(/bin/false
,/usr/bin/false
ou shell builtin):Você também pode usar
exit 1
de um subshell:fonte
! :
(ou qualquer outro comando que normalmente retorne sucesso).!
diz para negar o status de saída do comando a seguir.:
é apenas o comando noop builtin que sempre sai com sucesso. (Apenas certifique-se de deixar um espaço após o!
comando e antes que o comando seja negado; caso contrário, ele tentará analisá-lo como um comando começando com um!
caractere - ou, no caso de shells comobash
no modo interativo, ele será analisado como um dos esses modificadores de história especiais).