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.

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *