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'
谢谢,我试过了,但我不认为我正确地集成到结构的语法。问题的更新是我目前的代码,但我仍在试验。任何进一步的建议感激谢谢! –