2017-03-27 87 views
0

我遇到Fabric問題,它不允許我執行兩個運行命令。結構run()方法只處理兩次

我對面料

@task 
def deploy(): 
    run("su - user") 
    run("cd /home/user/project") 

一個任務,當我運行fab deploy腳本功能連接到服務器並運行僅第一行

[34.252.47.139] run: su - user 
[34.252.47.139] out: [email protected] [~]# 

在這一步我Ctrl+D終止控制檯關鍵之後,我看到第二行代碼執行。

所以在控制檯總產量:

[34.252.47.139] run: su - user 
[34.252.47.139] out: [email protected] [~]# logout (Here I terminate a console) 
[34.252.47.139] out: 

[34.252.47.139] run: cd /home/user/project 

Done. 
Disconnecting from 34.***.***.***... done. 

回答

1

考慮使用sudo()cd()上下文管理器來代替。例如:

@task 
def deploy(): 
    with cd('/home/user/project'): 
     sudo('your-command', user=user)