Python ';cd&x27;命令不使用fabric3

Python ';cd&x27;命令不使用fabric3,python,fabric,Python,Fabric,我正在使用fabric3(),结构的Python3端口 我有以下功能: @roles('production') def dir(): run('pwd') run('ls') cd('/home/deploy/mydir') run('pwd') 输出: $ fab dir [deploy@196.x.x.x] Executing task 'dir' [deploy@196.x.x.x] run: pwd [deploy@196.x.x.x] out: /h

我正在使用fabric3(),结构的Python3端口

我有以下功能:

@roles('production')
def dir():
    run('pwd')
    run('ls')
    cd('/home/deploy/mydir')
    run('pwd')
输出:

$ fab dir
[deploy@196.x.x.x] Executing task 'dir'
[deploy@196.x.x.x] run: pwd
[deploy@196.x.x.x] out: /home/deploy
[deploy@196.x.x.x] out:

[deploy@196.x.x.x] run: ls
[deploy@196.x.x.x] out: Env  mysite
[deploy@196.x.x.x] out:

[deploy@196.x.x.x] run: pwd
[deploy@196.x.x.x] out: /home/deploy
[deploy@196.x.x.x] out:

为什么要忽略CD?

每个命令都在单独的“环境”中工作

cd()

但您可以将
一起使用:

 with cd("<path>"):   
     run("<command>")
带cd(“”):
运行(“”)
请参阅Fabric文档中的更多内容:

或者您可以手动执行

run("cd <path> && <command>")
run(“cd&&”)
尝试使用cd(…):运行(…)
-