我正在编写一个使用os.system
命令调用shell脚本的python脚本。我需要帮助理解如何将参数传递给shell脚本?以下是我正在尝试的内容..但它不起作用。
os.system('./script.sh arg1 arg2 arg3')
我不想使用subprocess
来调用shell脚本。任何帮助表示赞赏。
答案 0 :(得分:0)
如果在os.system(...)之前插入以下行,您可能会看到问题。
print './script.sh arg1 arg2 arg3'
在开发此类事物时,在实际尝试之前确保命令确实符合您的预期通常很有用。
示例:
def Cmd():
return "something"
print Cmd()
如果您满意,请注释掉print Cmd()
行并使用os.system (Cmd ())
或子流程版本。
答案 1 :(得分:0)
将脚本及其args放入字符串中,请参阅下面的示例。
HTH
#!/usr/bin/env python
import os
arg3 = 'arg3'
cmd = '/bin/echo arg1 arg2 %s' % arg3
print 'running "%s"' % cmd
os.system(cmd)