Python 3:在Python脚本中启动Bash脚本

时间:2013-02-22 15:57:55

标签: python linux macos python-3.x subprocess

我已经创建了一个TCP客户端/服务器,用于确定软件是否是最新的,如果不是,则调用bash脚本来执行软件升级。我使用以下代码在Windows上成功运行并从Cygwin启动客户端

subprocess.call("windowsUpgrade.sh", shell=True)

但是,当我尝试从基于Linux或Mac的客户端使用它时,我会收到错误

/bin/sh: linuxUpgrade.sh: not found

/bin/sh: macUpgrade.sh: command not found

有关导致此问题的原因及解决方法的任何想法? 感谢

1 个答案:

答案 0 :(得分:1)

默认情况下,当前目录不在PATH变量中,在该变量中搜索可执行文件,请尝试:

subprocess.call("./linuxUpgrade.sh", shell=True)

另外,请确保您的脚本标记为可执行文件

chmod u+x linuxUpgrade.sh