1. ホーム
  2. バッシュ

[解決済み】特定のディレクトリに直接sshする方法は?

2022-04-19 09:07:09

質問

私はしばしば、複数のサーバーのうちの1つにログインし、それらのマシン上の複数のディレクトリのうちの1つに移動する必要があります。 現在、私はこのようなことを行っています。

ローカルホスト ~]$ ssh somehost

somehostへようこそ!

somehost ~]$ cd /some/directory/somewhere/named/Foo
somehost Foo]$. 

どのホストでどのディレクトリに入る必要があるのかを判断するスクリプトはあるのですが、これを行う方法がわかりません。

localhost ~]$ go_to_dir Foo

somehostへようこそ!

somehost Foo]$.

簡単な方法、賢い方法、何か方法はないでしょうか?

どのように解決するのですか?

次のようにすればよい。

ssh -t xxx.xxx.xxx.xxx "cd /directory_wanted ; bash --login"

このようにすると、directory_wantedの右側にログインシェルが表示されます。


説明

-t 擬似端末の割り当てを強制します。 これは、リモートマシン上で任意の画面ベースのプログラムを実行するために使用することができ、メニューサービスを実装する場合などに非常に有用である。

複数 -t オプションは、ssh にローカル tty がない場合でも、強制的に tty を割り当てるようにします。

  • を使用しない場合 -t を指定した場合、プロンプトは表示されません。
  • を追加しない場合 ; bash に接続すると、接続が切断され、制御がローカルマシンに戻されます。
  • を追加しない場合 bash --login の場合、ログインシェルではないので、あなたの設定は使用されません。