簡體   English   中英

有沒有辦法一次使用fabric run()和sudo()?

[英]is there a way to use fabric run() and sudo() at a time?

我正在嘗試在python 2.7中自動化測試(在Linux ubuntu 12.04上的eclipse中)。 測試檢查另一台PC上的配置,所以我使用fabric進行ssh連接。

我需要執行一個腳本:

run("cd somepath && ./execute_script.sh")

問題是我的腳本需要運行sudo,但是將命令更改為:

sudo("cd somepath && ./execute_script.sh")

不起作用,因為“cd”不能與sudo結合使用。 我也不能將命令分成兩部分,因為那會創建2個shell,第二個會忘記我在第一個中所經歷的路徑。

如果我這樣做:

run("cd somepath && sudo ./execute_script.sh")

由於您必須一次輸入密碼,因此測試無法完全自動運行。

有沒有辦法結合run()和sudo()?

怎么樣:

from fabric.api import cd,sudo
with cd('somepath'):
    sudo('./execute_script.sh')

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM