我已经创建了一个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
有关导致此问题的原因及解决方法的任何想法? 感谢
答案 0 :(得分:1)
默认情况下,当前目录不在PATH变量中,在该变量中搜索可执行文件,请尝试:
subprocess.call("./linuxUpgrade.sh", shell=True)
另外,请确保您的脚本标记为可执行文件
chmod u+x linuxUpgrade.sh