web-dev-qa-db-ja.com

sshの終了後にコマンドを自動的に実行する方法

ssh接続を終了した後、ローカル端末でコマンドを自動的に実行するにはどうすればよいですか?このために処理できるフックまたはイベントはありますか?

10
Meysam

alias以上の関数を活用します。

例えば:

ssh () { command ssh "$@"; echo foobar; }

これで、次のコマンドを実行できます。

ssh mysite

sshセッションを終了した後、echo foobarが実行されます。

変化する echo foobar実行する必要のある実際のコマンドを使用します。もちろん、必要に応じて複数のコマンドを追加できます。

関数定義を永続化するには、~/.bashrc


また、明示的に外部sshを使用する場合、関数にsshという名前を付けることが常に望ましいとは限りません。その場合、次のいずれかを使用してssh関数をスキップし、外部sshバイナリを取得できます。

command ssh mysite

または、関数の名前を別の名前に変更します。 sshfunc

sshfunc () { ssh "$@"; echo foobar; }
13
heemayl