1
4

2 回答 2

0

要将 Python 脚本收到的参数发送到 bash 脚本,可以使用sys.argv

#!/usr/bin/env python
import sys
from subprocess import check_output as qx

output = qx(["/path/to/sorter.sh"] + sys.argv[1:])
print output,

如果您调用 python 脚本,python-script a b c那么它sorter.sh使用a, b,c参数调用。

注意:代码期望sorter.sh具有适当的shebang执行权限 ( chmod +x /path/to/sorter.sh)。

于 2013-10-27T07:24:01.603 回答
0

根据错误消息,当前工作目录中似乎没有sorter.sh。指定脚本的绝对路径。

替换以下:

process = subprocess.Popen('sorter.sh', stdout=subprocess.PIPE, shell=True) 

和:

process = subprocess.Popen('sh /path/to/sorter.sh', stdout=subprocess.PIPE, shell=True)

或者:

process = subprocess.Popen(['sh', '/path/to/sorter.sh'], stdout=subprocess.PIPE)
于 2013-10-27T04:05:02.253 回答