python - 在python中调用带有参数的bash脚本
问题描述
我正在尝试通过 python 脚本执行以下操作。但我收到一个错误。 Unknown option:-a test -b 25 -c 18 --d 25 23
script_args = '-a test -b 25 -c 18 --d 25 23'
subprocess.Popen(['/home/pi/bash/bash_script.sh', script_args])
我可以复制未知选项行并执行我的脚本,脚本运行时没有任何错误,我得到了所需的输出。
/home/pi/bash/bash_script.sh -a test -b 25 -c 18 --d 25 23
我通过 python 脚本做错了什么?
解决方案
您正在传递由所有这些字符组成的单个参数。
script_args = ['-a', 'test', ..., '23']
subprocess.Popen(['/home/pi/bash/bash_script.sh'] + script_args)