無効なbashコマンドを終了またはキャンセルする方法は?

無効なbashコマンドを終了またはキャンセルする方法は?

私はこれが批判を受けると予想しましたが、どこにも答えが見つかりませんでした。あまりにも明確に見えるでしょう。 bash 端末に誤ったコマンドを入力すると、カーソルがエラーや何もせずに次の行に移動することがあります。私は何が間違っているのか言うことはできません。まるでプログラムに閉じ込められたようです。再演:

$ tidy

私:「あっ!これは私が入力しようとしていたのではありませんでした…」

:q

私:「それは無駄なことだよ…」

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

私が間違っていたことはわかりますが、ターミナルを閉じずにどのようにプロンプ​​トに戻ることができますか?

ベストアンサー1

^Cいつでも(eof)、Escapeなどの確実な操作を試すことができますが、他のすべての方法が^D失敗した場合は、通常(Control-Z)を使用してコマンドを一時停止して^Zシェルに戻ります。

その後、コマンドを実行しps、そのコマンドのプロセスID(PID)を記録し、kill thePIDkill -9 thePID電子が機能していない場合)コマンドを実行してアプリケーションを終了します。

そうではありません。整った(末梢意図なし)アプリケーション/コマンドを終了する方法を使用すると、一部のデータなどを保存できない危険があります。

はい(使用しましたがインストールtidyしませんでした):

$ 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

おすすめ記事