Jeg forventer å få litt flak for dette, men jeg finner ikke svaret hvor som helst. Det virker som om det burde være så tydelig. Noen ganger når jeg skriv en dårlig kommando i en bash-terminal, markøren hopper bare ned til neste linje uten feil eller noe. Jeg kan ikke fortelle hva jeg gjorde galt. Det er som om jeg sitter fast i programmet. Reenactment:

$ tidy 

Meg: «Ups! Det er ikke det jeg mente å skrive …»

:q 

Meg: «Det fungerte ikke …»

:exit :quit exit quit /exit /quit -exit -quit -wtf??? 

Jeg vet at jeg kludde meg, men hvordan kommer jeg tilbake til ledeteksten uten å lukke terminalen?

Kommentarer

Svar

Du kan alltid prøve de åpenbare tingene som ^C, ^D (eof), Escape etc., men hvis alt mislykkes, slutter jeg vanligvis å suspendere kommandoen med ^Z (Control-Z) som setter meg tilbake i skallet.

Jeg gjør da en ps -kommando og noterer PID (prosess-id) for kommandoen og utsteder deretter en kill thePID (kill -9 thePID hvis førstnevnte ikke fungerte) kommandoen om å avslutte applikasjonen.

Merk at dette ikke er en ryddig ( ingen ordspill beregnet) måte å avslutte applikasjonen / kommandoen på, og du risikerer kanskje ikke å lagre noen data osv.

Et eksempel (jeg har brukt tidy men jeg har den ikke installert):

$ 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 

Kommentarer

  • At ' er det !! ^ Z til unnsetning. Tusen takk.
  • ^ \ (ctrl-backslash, SIGQUIT) fungerer i noen sta verktøy som ikke ' t svar på ^ C.
  • Shh! Don ' t fortell folk om ^ \ eller de ' Start SIG_IGN ' også på det, hva skal vi gjøre?
  • @godlygeek Kan du fortell meg hva %% betyr i Linux eller hva slags ting det er? Jeg søkte mye.
  • @Noumenon, ta en titt på LESS='+/^JOB CONTROL' man bash. %% refererer til " gjeldende jobb ".

Svar

Prøv å trykke Ctrl D eller Ctrl C . Hvis det mislykkes, drep prosessen.

Prøv med tidy -kommandoen du nevnte, Ctrl D fungerer.

Kommentarer

  • CTRL+C er også bra for Windows CMD.

Svar

En annen løsning (ikke nevnt allerede) er å sende SIGQUIT signal bruker ctrl + \

Det er sterkere enn en ctrl + c

Svar

CTRL + D == exit shell command

og

CTRL + C == terminate the current process, Of course may be the given software handle it and CTRL + D doens"t work

Selvfølgelig produserer de en kernel signal Hvis du vil vite mer, kan du lese:

man 7 signal 

Kommentarer

  • Ctrl + D er slutten av filen, ikke avsluttes direkte.

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *