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

Win10下Bash on Ubuntu环境中PyCharm运行bash脚本报错的解决方法

可以在PyCharm中运行Bash脚本,你的问题出在路径格式不兼容上

当然没问题!你遇到的No such file or directory错误,核心原因是Windows路径格式在WSL的Bash环境里不被识别——WSL会把Windows的盘符挂载到/mnt目录下,比如你的E盘对应/mnt/e,而PyCharm默认传了Windows风格的E:/...路径,Bash自然找不到文件。

下面是两种解决方法,从单脚本配置到全局设置都有:

方法一:修改单个脚本的运行配置

  1. 打开PyCharm,找到你的helloworld.sh脚本,右键选择「Run 'helloworld.sh'」,或者通过顶部菜单栏「Run → Edit Configurations」打开配置界面
  2. 在配置窗口中,选择「Shell Script」类型的配置:
    • Interpreter:选择C:\WINDOWS\system32\bash.exe(你当前用的这个路径是对的)
    • Script path:把Windows路径转换成WSL格式,比如把E:/MyCodes/shell/hello-sh/hello.sh改成/mnt/e/MyCodes/shell/hello-sh/hello.sh(注意盘符小写,斜杠方向换成Linux风格)
    • 可选:在「Interpreter options」里添加-l参数,让Bash以登录模式运行,确保加载所有环境变量
  3. 保存配置后,再次运行脚本就能正常执行了

方法二:全局配置WSL Bash作为默认解释器(一劳永逸)

如果你经常在PyCharm里运行WSL的Bash脚本,可以直接把WSL Bash设为默认解释器,PyCharm会自动帮你转换路径:

  1. 打开PyCharm的设置(File → Settings,快捷键Ctrl+Alt+S)
  2. 导航到「Languages & Frameworks → Shell Script → BashSupport → Interpreters」
  3. 点击右上角的「+」按钮,选择「WSL Bash」选项
  4. 在弹出的窗口中,选择你安装的Ubuntu发行版,PyCharm会自动识别WSL的Bash路径和路径转换规则
  5. 把这个新添加的WSL Bash设为默认解释器(点击列表里的它,再点「Set as Default」)
  6. 之后不管运行哪个脚本,PyCharm都会自动把Windows路径转换成WSL能识别的/mnt/xxx格式,不用再手动修改路径

额外注意事项

  • 先手动验证脚本:打开Windows的命令提示符,输入bash进入WSL环境,然后执行bash /mnt/e/MyCodes/shell/hello-sh/hello.sh,确认脚本本身能正常运行,排除脚本语法或权限问题
  • 如果你用的是WSL2,路径转换逻辑和WSL1一致,但要确保WSL2的Ubuntu发行版已经正常启动
  • 虽然你用的是PyCharm 2017,只要BashSupport插件适配这个版本,上述配置就能生效

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 10:01:02