プロジェクトごとのSSHで、あるサーバにログインした後、デプロイを行っているディレクトリに移動する、というスクリプトを書きたかったです。
$ ssh ssh.example.com -t 'cd tmp; bash --login'
cdコマンドをsshの引数として渡すとcdが実行された後にsshコマンドが終了してきて戻ってきてしまいます。
-tオプションを付けてsshを起動し、cd した後に bash --login をするとcdが終了した後にbashが起動され、引き続きターミナルを使うことができます。
-tはForce pseudo-terminal allocation.となっており、擬似端末(PTY)を強制的に割り当てるため、bash --loginがPTY上でcdしたセションが残ります。