Bashでは、たまにコマンドのリストを入力してを押しますがEnter、後でリストの最後の方にあるコマンドに誤りがあることに気づきます。Ctrl+ を押すCと、現在実行中のコマンドが終了し、残りのリストがキャンセルされることがわかっています。現在実行中のコマンドを終了せずにリストの残りをキャンセルする方法はありますか?
たとえば、次のように入力したとしましょう
foo; bar
または
foo && bar
where foo
は、実行を中断しないことが非常に重要である長期実行コマンドであり、bar
不可逆的で不要な処理を実行します(たとえば、shutdown -h now
またはrm -rf /
)。foo
がまだ実行されている間に、シェルにfoo
終了させるがbar
後で実行しないように指示する一般的な方法はありますか?(はい、bar
実行可能ではないようにアクセス許可を変更することはできますが、それまでの間使用したいbar
ような場合は特に便利ではrm
ありません。所有していないbar
場合やbar
組み込みの場合は機能しません。)
@ GAD3R:ただし、これは現在の行を変更せず、新しい行を開始します。
—
Arkadiusz Drabczyk
bar
にコマンドをsome_command
:^bar^some_command
実行する前に。