私は毎日使用する多数のsshセッションにProxyJumpコマンドを使用しています。また、これらのセッションでユーザーを頻繁に切り替えており、exit
を3〜4回続けて入力するのはそれほど面白くありません。
newline
+ ~
+ .
がsshセッションを終了することを知っていますが、exit
のように友好的に終了するかどうかを確認する必要がありますが、方法現在のシェルのすべてのセッションを1つのコマンドまたはショートカットで終了して、私の場合はexit
を3〜4回入力すると1回限りになりますか?
Ctrl-D 多くの場合、シェルを終了します。 exit
と入力するよりも速い Enter。すべてを終了する単一のコマンドではありませんが、 Ctrl そして打つ D 数回は簡単かつ高速です。これがあなたのユースケースにとってどれほど価値があるかはわかりません。
詳細に議論 ここ 。
入力~.
実際にはdoesすべての「ネストされた」接続を最後まで閉じるトリック。
すべてのシェルがSIGHUPを優雅な死として処理するように構成されている限り、それは友好的な出口でそうします。 Bashはデフォルトでそうします。たとえば、セットアップの友好的な出口を簡単に確認できます。より深いセッションの.bash_history
ファイルが~.
の後に適切に更新されるかどうか、または終了時に.bash_historyを更新しないようにbash-esを設定した場合、EXITイベントにtrap
を設定できます(または~/.bash_logout
)で、どこかに何かを書き込み、後でそれが実行されたかどうかを確認するコマンドを使用します。
さらに、「現在のシェルのすべてのセッションを終了する」という意味がわかりません。各対話型bashは1つのセッションにすぎず、入力するコマンドは常に、ProxyJumpチェーンの最も深いシェルのみに送信されます。 「現在のシェルのバックグラウンドジョブ」を意味している場合、bashは~.
でsshデーモンがSIGHUPを受信すると、すべてのジョブにSIGHUPを送信します。 SIGHUP。