No Bash, ocasionalmente digito uma lista de comandos e bato Enter, e só depois percebo que há um erro com algum comando perto do final da lista. Sei que, se pressionar Ctrl+ C, encerrará o comando em execução no momento e cancelará o restante da lista. Existe alguma maneira de cancelar o restante da lista sem encerrar o comando em execução no momento?
Por exemplo, digamos que digitei algo como
foo; bar
ou
foo && bar
Onde foo
é um comando de longa duração que é muito importante para não interromper e bar
faz algo irreversível e indesejado (digamos, shutdown -h now
ou rm -rf /
). Enquanto foo
ainda está em execução, existe uma maneira geral de dizer ao shell para deixar foo
terminar, mas não para executar bar
depois? (Sim, eu poderia alterar as permissões bar
para que não sejam executáveis, mas isso não é particularmente conveniente se bar
é algo rm
que eu quero usar nesse meio tempo, nem funcionará se eu não for o proprietário bar
ou se bar
for um built-in.)
bar
comando parasome_command
:^bar^some_command
antes de ser executado.