多くの場合、複数のサーバーの 1 つにログインし、それらのマシン上の複数のディレクトリの 1 つに移動する必要があります。現在、次のようなことを行っています。
localhost ~]$ ssh somehost somehostへようこそ! somehost ~]$ cd /some/directory/somewhere/named/Foo 誰かFoo]$
どのホストとどのディレクトリにアクセスする必要があるかを判断するスクリプトがありますが、これを行う方法がわかりません。
ローカルホスト ~]$ go_to_dir Foo somehostへようこそ! 誰かFoo]$
これを実行する簡単で賢い方法などはありますか?
ベストアンサー1
次の操作を実行できます。
ssh -t xxx.xxx.xxx.xxx "cd /directory_wanted ; bash --login"
この方法では、directory_wanted でログイン シェルがすぐに取得されます。
説明
-t
擬似端末の割り当てを強制します。これは、リモート マシン上で任意の画面ベースのプログラムを実行するために使用できます。これは、メニュー サービスを実装する場合などに非常に便利です。複数の
-t
オプションを指定すると、ssh にローカル tty がない場合でも tty の割り当てが強制されます。
- 使用しない場合
-t
はプロンプトは表示されません。 - 追加しない場合
; bash
は接続が閉じられ、ローカルマシンに制御が戻ります。 - 追加しない場合は
bash --login
、ログインシェルではないため、設定は使用されません。