Espero receber algumas críticas por isso, mas não consigo encontrar a resposta em lugar nenhum. Parece que deveria ser tão óbvio. Às vezes, quando eu digite um comando incorreto em um terminal bash, o cursor apenas pula para a próxima linha sem nenhum erro ou nada. Não consigo dizer o que fiz de errado. É como se eu estivesse preso no programa. Recriação:
$ tidy
Eu: “Ops! Não foi isso que eu quis dizer …”
:q
Eu: “Isso não funcionou …”
:exit :quit exit quit /exit /quit -exit -quit -wtf???
Sei que estraguei tudo, mas como faço para voltar ao prompt sem fechar o terminal?
Comentários
Resposta
Você sempre pode tentar coisas óbvias como ^C
, ^D
(eof), Escape etc., mas se tudo falhar, geralmente termino suspendendo o comando com ^Z
(Control-Z) que me coloca de volta no shell.
Eu, então, faço um comando ps
e anoto o PID (id do processo) do comando e, em seguida, emito um kill thePID
(kill -9 thePID
se o anterior não funcionou) comando para encerrar o aplicativo.
Observe que este não é um arrumado ( sem trocadilhos) forma de encerrar o aplicativo / comando e você corre o risco de não salvar alguns dados, etc.
Um exemplo (eu usei tidy
mas não o tenho instalado):
$ gnuplot G N U P L O T Version 4.2 patchlevel 6 .... Send bug reports and suggestions to <http://sourceforge.net/projects/gnuplot> Terminal type set to "wxt" gnuplot> gnuplot> ##### typed ^Z here [1]+ Stopped gnuplot $ ps PID TTY TIME CMD 1681 pts/1 00:00:00 tcsh 1690 pts/1 00:00:00 bash 1708 pts/1 00:00:00 gnuplot 1709 pts/1 00:00:00 ps $ kill 1708 ###### didn"t kill the command as ps shows $ ps PID TTY TIME CMD 1681 pts/1 00:00:00 tcsh 1690 pts/1 00:00:00 bash 1708 pts/1 00:00:00 gnuplot 1710 pts/1 00:00:00 ps $ kill -9 1708 ### -9 did the trick $ [1]+ Killed gnuplot $ ps PID TTY TIME CMD 1681 pts/1 00:00:00 tcsh 1690 pts/1 00:00:00 bash 1711 pts/1 00:00:00 ps
Comentários
- Isso ' é !! ^ Z para o resgate. Muito obrigado.
- ^ \ (ctrl-barra invertida, SIGQUIT) funciona em alguns utilitários teimosos que não ' não responda a ^ C.
- Shh! Não ' não conte às pessoas sobre ^ \ ou elas ' vou começar
SIG_IGN
' ing isso também, então o que faremos? - @godlygeek você pode diga-me o que %% significa no Linux ou que tipo de coisa é? Pesquisei muito.
- @Noumenon, dê uma olhada em
LESS='+/^JOB CONTROL' man bash
.%%
refere-se ao " emprego atual ".
Resposta
Tente pressionar Ctrl – D ou Ctrl – C . Se falhar, elimine o processo.
Tentando com o comando tidy
que você mencionou, Ctrl – D funciona.
Comentários
-
CTRL+C
também é bom para Windows CMD.
Resposta
Outra solução (ainda não mencionada) é enviar o sinal SIGQUIT
usando ctrl + \
É mais forte do que um ctrl + c
Resposta
CTRL + D == exit shell command
e
CTRL + C == terminate the current process, Of course may be the given software handle it and
CTRL + D doens"t work
Claro, eles produzem um kernel signal
se quiser saber mais, leia:
man 7 signal
Comentários
- Ctrl + D é o fim do arquivo, não sai diretamente.
:q
realmente funcionou para mim; não é ' que um comando Vim?