0
我是新來的織物和粗糙的邊緣與蟒蛇。 我正在努力編寫一個更新帶有公共gpg密鑰環ID的文件的小腳本。Fabric支持命令替換嗎?
在僞代碼:
sed("./conf", 'GPG_KEY='085C042B'', 'GPG_KEY='`commandoutput`', use_sudo=true,backup='')
哪裏commandoutput
是以下命令的輸出:
bash$ gpg --list-keys | grep pub | grep 4096R | awk '{ print $2}' | cut -d'/' -f2
我正在尋找關於如何做到這一點的建議。 我可以輸送或捕獲織物運行命令的輸出嗎?
更新#1: 寶馬在下面提供了有用的建議,但我不太確定如何集成到結構中。這是我現在有:
DUPLY_DIR = "/etc/duply/fullbackup/"
with cd(DUPLY_DIR):
GPG_KEY1="085C042B"
GPG_KEY2="$(gpg --list-keys | awk '/pub/&&/4096R/{split($2,a,"/"); print a[2]}')"
sed("./conf", 'GPG_KEY1', 'GPG_KEY2', use_sudo=true, backup='')
但是,這會產生一個錯誤:
File "/home/fabric/fabfile.py", line 44, in stage_gpg
GPG_KEY2="$(gpg --list-keys | awk '/pub/&&/4096R/{split($2,a,"/"); print a[2]}')" TypeError: unsupported operand type(s) for /: 'str' and 'str'
謝謝,我試過了,但我不認爲我正確地集成到結構的語法。問題的更新是我目前的代碼,但我仍在試驗。任何進一步的建議感激謝謝! –