-1

我创建了一个 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

关于导致此问题的原因以及如何解决的任何想法?谢谢

4

1 回答 1

1

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

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

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

chmod u+x linuxUpgrade.sh
于 2013-02-22T16:00:09.143 回答