sshで現在の作業ディレクトリを設定します


10

Pythonスクリプト(Nautilusスクリプト)内で、あるマシンから別のマシンにsshしようとしています。以下で動作します:

ssh -t user@server "cd /home/some/dir ; csh"

ただし、シェルタイプをハードコーディングするという考え方は好きではありません。

cwdシェルタイプをハードコーディングすることなく、sshコマンド内で設定する方法はありますか?


技術的にはpythonスクリプトでした;-)
Johnsyweb

回答:



8

次のようにできます...

ssh -t user@server "cd /home/some/dir ; bash"

bash目的のシェルはどこにありますか。


おかげで、それは動作します。シェルを自動検出または省略する方法があるので、デフォルトになりますか?私はそれをハードコードするという考えが好きではありません。
umpirsky

1
@umpiresky:これをテストするためのUbuntuボックスはありませんが、* BSDではできます:ssh -t user@server "cd /home/some/dir ; login user"(userはsshに提供したユーザー名です)。リモートホストのホストがlocalhostと同じ場合、代わりに$ {SHELL}を使用できます。YMMV。
-Johnsyweb

@Johnsywebいや、ログインユーザーは私のために働いていませんでした。UbuntuからFreeBSDに接続していますが、どのサーバーでも動作するのは良いことです。そのため、シェルタイプ(私の場合はcsh)をハードコードするという考えが好きではありません。
umpirsky

login userFreeBSDで動作します。
-Johnsyweb

1
たぶん、はい。しかし、すでに実用的なnautilusスクリプトがあります。それを改善してみましょう。貴重なご協力ありがとうございます。
umpirsky
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.