我正在尝试使用 subprocess.Popen() 镜像以下 shell 命令:
echo "SELECT employeeid FROM Users WHERE samaccountname=${1};" | bsqldb -S mdw2k8sqlp02.dow.com -D PhoneBookClient -U PortManUser -P plum45\\torts -q
它目前看起来像:
stdout = subprocess.Popen(["echo", "\"SELECT", "employeeid", "FROM", "Users", "WHERE", "samaccountname=${1};\"", "|", "bsqldb", "arg1etc"], stdout=subprocess.PIPE)
for line in stdout.stdout.readlines():
print line
似乎这是错误的,它返回以下标准:
"SELECT employeeid FROM Users WHERE samaccountname=${1};" | bsqldb arg1etc
有谁知道我的 subprocess.Popen() 语法哪里出错了?