You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用subprocess.Popen调用同目录bash脚本时提示文件不存在

问题原因与解决方案

你的问题出在两个可能的点上,对应解决方法如下:

  • 未指定脚本的相对路径:系统默认会在PATH环境变量包含的目录里查找check.sh,而当前工作目录通常不在PATH中,所以直接写check.sh会找不到文件。解决方法是加上当前目录的相对路径前缀./:

    import subprocess
    subprocess.Popen(["./check.sh", "ABC"])
    
  • 脚本缺少执行权限:即使路径正确,如果check.sh没有可执行权限,也会触发类似错误。可以通过以下命令给脚本添加执行权限:

    chmod +x check.sh
    

另外还有一种替代方案,直接调用bash解释器来运行脚本,这种方式不需要脚本有执行权限,也不用加路径前缀:

import subprocess
subprocess.Popen(["bash", "check.sh", "ABC"])

内容的提问来源于stack exchange,提问作者randomUser

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.13 01:03:09