Prefira o nome de qualquer comando que não faça nada importante para o que você escreveu e execute a linha de comando resultante. Isso é ao longo das linhas da @ resposta do goldilocks , mas mais genérico.
Os exemplos seriam true
, false
e echo
. Basta passar para o início da linha de comando e preceder o comando que preferir para o que você já escreveu.
$ true git commit -am 'FOO-123: fix issue with dorks around bars'
$
Como true
é essencialmente um não operacional, o comando está agora no histórico (independentemente de qual shell você está usando, desde que tenha um histórico de comandos) e pode ser recuperado normalmente sempre que você estiver pronto , mas nada mais aconteceu. Quando estiver pronto, recupere o comando do histórico, volte ao início da linha de comando e remova o comando no-op antes de executá-lo.
A única desvantagem real disso é que você perde qualquer status de saída do comando anterior ( $?
no bash-speak). Se você estiver fazendo mais do que uma simples chamada de comando (encadeando operações como ;
, &&
e ||
, pipes, redirecionamento, ...) você pode precisar citar o comando antes de passá-lo para o comando no-op , então o shell não faz sua mágica em parte do comando. Algo como false && ( ... )
(com ...
sendo o que você tinha antes) também pode funcionar; já que false
retornará um resultado malsucedido, o shell nunca chegará ao restante da linha de comando.
Outra opção, especialmente se você estiver executando em um ambiente gráfico, é simplesmente abrir outra janela de terminal. Em um ambiente somente para CLI, o mesmo pode ser feito iniciando screen
quando você efetua login - então você pode separar trivialmente a sessão atual e iniciar uma nova.