命令可以手动运行,但当用作脚本时,它会失败

时间:2017-10-05 09:35:48

标签: python subprocess

#!/usr/bin/python

import os
import subprocess
import sys
import argparse

user = sys.argv[1]
pwd = sys.argv[2]
port = sys.argv[3]
server = sys.argv[4]
serverport = sys.argv[5]
Sslport = sys.argv[6]
Cert = sys.argv[7]
Certpass = sys.argv[8]
Certalias = sys.argv[9]

p = subprocess.Popen(
    "wlst.sh abc.py {0} {1} {2} {3} {4} {5} {6} {7} {8}".format(
        user, pwd, port, server, serverport,
        Sslport, Cert, Certpass, Certalias),
    shell=True, stdout=subprocess.PIPE)

output, err = p.communicate()

当我执行上面的脚本时,它失败并出现以下错误

/bin/sh: M: command not found

当我在Unix shell中手动处理它时运行正常。

我也手动传递参数,然后用Popen处理,然后也成功运行。

当我用格式传递参数时,它才会失败。

非常感谢帮助。

0 个答案:

没有答案