我正在编写一个需要调用bash脚本的python脚本。
python脚本包含变量a1
和a2
,这些变量需要作为参数传递给bash脚本。
我已导入subprocess
并按以下方式运行它:
subprocess.check_call( ["./test.sh", a1, a2], shell=False)
但是我从这一行得到一个错误
OSError:[WinError 193]%1不是有效的Win32应用程序。 我应该怎么做?
答案 0 :(得分:1)
如果您具有“ Windows上的Ubuntu上的Bash”,则可以这样调用脚本:
subprocess.check_call( ['bash', '-c', './test.sh', a1, a2], shell=False)
要在Windows上具有此功能,您需要Windows 10,并且可以按照this link中的说明进行操作。
一般来说,即使在Unix机器上,这也是一种更好的方法(即使在大多数.sh文件中,它们都将执行而无需在bash中显式运行它们)