Pythonスクリプト(Nautilusスクリプト)内で、あるマシンから別のマシンにsshしようとしています。以下で動作します:
ssh -t user@server "cd /home/some/dir ; csh"
ただし、シェルタイプをハードコーディングするという考え方は好きではありません。
cwd
シェルタイプをハードコーディングすることなく、sshコマンド内で設定する方法はありますか?
Pythonスクリプト(Nautilusスクリプト)内で、あるマシンから別のマシンにsshしようとしています。以下で動作します:
ssh -t user@server "cd /home/some/dir ; csh"
ただし、シェルタイプをハードコーディングするという考え方は好きではありません。
cwd
シェルタイプをハードコーディングすることなく、sshコマンド内で設定する方法はありますか?
回答:
$SHELL
代わりに呼び出します。
ssh -t user@server 'cd /home/some/dir ; exec "$SHELL"'
次のようにできます...
ssh -t user@server "cd /home/some/dir ; bash"
bash
目的のシェルはどこにありますか。
ssh -t user@server "cd /home/some/dir ; login user"
(userはsshに提供したユーザー名です)。リモートホストのホストがlocalhostと同じ場合、代わりに$ {SHELL}を使用できます。YMMV。
login user
FreeBSDで動作します。
python
スクリプトでした;-)