我正在尝试运行以下内容;
def conn(ad_group):
result = Popen(["sudo -S /opt/quest/bin/vastool", "-u host/ attrs 'AD_GROUP_NAME' | grep member"], stdout=PIPE)
return result.stdout
在python脚本中的RedHat机器上,但我得到FileNotFoundError: [Errno 2] No such file or directory: 'sudo -S /opt/quest/bin/vastool'
我可以在命令行运行命令(sudo -S /opt/quest/bin/vastool -u host/ attrs 'AD_GROUP_NAME' | grep member
)而不会出现问题。
我确定我在功能中弄乱了一些东西,但我需要另外一双眼睛。
谢谢
答案 0 :(得分:1)
您需要将整个命令设为一个字符串,并使用shell=True
选项,因为您正在使用shell管道。
result = Popen("sudo -S /opt/quest/bin/vastool -u host/ attrs 'AD_GROUP_NAME' | grep member", stdout=PIPE, shell=True)