-2

Fabric で ssh エージェントを使用するカスタム cd() を実装するには?

私の展開スクリプトでは、ssh エージェントを実装するために、上記のように run()、sudo()、put() をパッケージ化しました。

from fabric.api import run, sudo, cd

PREFIX = "ssh user@remote:5044 '"

def custom_run(cmd):
    new_cmd = PREFIX + cmd + "'"
    run(new_cmd)

def custom_sudo(cmd):
    new_cmd = PREFIX + cmd + "'"
    sudo(new_cmd)

しかし、私が知っているように、コンテキストを管理するために、Fabric の cd() はグローバル変数 env.cwd を変更しました

run や sudo とは異なり、コマンドを直接実行します。

では、ssh エージェントで cd() を実装する方法はありますか?

$ ssh usr@1st-host "ssh usr@2nd-host 'cd pwd;cmd...'"
4

1 に答える 1