Não comente o comando.
Em vez disso, coloque um :
na frente, em vez de um #
. Isso fará com que seus argumentos de texto de comando para o utilitário null :
, que não faz nada quando executado . Os argumentos são tokenised e analisados, porque ainda é um comando, mas nada mais é feito com eles.
Há casos em que isso não é adequado: em particular, quando descobrir o comando em si tem efeitos colaterais. Um exemplo simples é a substituição de comandos :
$ : log $(find -print -delete) --target /var/run/cache
Nesse caso, o comando dentro de $(...)
seria executado e substituído nos argumentos para :
, mesmo que o próprio comando original nunca fosse executado. Um caso menos destrutivo seria a ${foo:=default}
expansão do parâmetro , que tem o efeito colateral de atribuir um valor a $foo
.
Por fim, redirecionamentos ou canais ainda ocorrerão:
$ : foo > outfile
$ : bar | grep x | ...
em ambos os casos, enviará uma saída vazia para o destino, que truncará ou criará o arquivo ou executará os comandos subsequentes, que podem não gostar da entrada vazia que recebem.
Se você não tem nenhuma dessas preocupações especiais para o seu comando, isso é totalmente seguro e funciona em zsh , Bash , e qualquer shell compatível com POSIX (embora o comportamento depois não funciona em todos os lugares).
Se for especificamente a última palavra que você deseja, o zsh fornece atalhos de teclado e comandos personalizáveis que você pode usar para manipular a linha de comando. Se você bindkey '^K' kill-region
, então você pode voltar antes da palavra, Ctrl - K para apagar até o início da linha, : , e, em seguida, ter um comando seguro com apenas a palavra que lhe interessa.