終了時にSSH LocalCommand

終了時にSSH LocalCommand

SSHを介してリモートコンピュータに接続するたびに、このディレクティブを使用して~/.ssh/configローカルLocalCommandコマンドを実行できます。しかし、私はいつ出口SSH接続? *.bashrc/.bash_profile* ファイルは、接続の終了またはクローズ時にインポートされないようです。

ベストアンサー1

ローカルシステムまたはリモートシステムでこれを行うかどうかの仕様はありません。どのシステムにどのシェルが存在するかについての仕様もないので、両方のbashシステムに存在すると仮定します。

リモートコンピュータで実行するには、~/.bash_logoutログインシェルが正常にログアウトしたときに実行されることを確認してください。からman bash

ログインシェルが終了すると、bash はファイルが~/.bash_logout存在する場合はそのコマンドを読み込み実行します。

~/.bash_logout次のように、ログアウトされたシェルがSSHセッションかどうかをテストして確認できます。

if [[ $SSH_CLIENT || $SSH_CONNECTION || $SSH_TTY ]]; then
    # commands go here
fi

ローカルコンピュータで実行するには、関数ラッパーを作成しますssh。次のように動作する必要があります。

ssh() {
    if command ssh "$@"; then
        # commands go here
    fi
}

これはあなたのニーズに比べて簡単すぎるかもしれませんが、アイデアを得ることができます。

おすすめ記事