【发布时间】:2022-01-16 19:01:49
【问题描述】:
我正在尝试将 python 脚本的 bash 子进程中的 pgp 键的指纹分配给变量。 这是一个sn-p:
import subprocess
subprocess.run(
'''
export KEYFINGERPRINT="$(gpg --with-colons --fingerprint --list-secret-keys | sed -n 's/^fpr:::::::::\([[:alnum:]]\+\):/\1/p')"
echo "KEY FINGERPRINT IS: ${KEYFINGERPRINT}"
''',
shell=True, check=True,
executable='/bin/bash')
代码运行但 echo 显示一个空变量:
KEY FINGERPRINT IS:
如果我尝试将该变量用于其他命令,则会收到以下错误:
gpg: key "" not found: Not found
但是,如果我在 bash 脚本中运行完全相同的两行 bash 代码,则一切正常,并且变量被正确分配。
我的 python 脚本缺少什么?
提前谢谢大家。
【问题讨论】:
标签: python bash variables subprocess gnupg