Sublime Text为Python配置Terminus构建时提示bash非目录报错求助
Sublime Text Terminus插件Python构建报错
/usr/bin/env 'bash' not a directory修复方案 报错根因
构建配置或Terminus插件配置中,传给/usr/bin/env的bash命令被额外包裹了单引号,系统会将'bash'(带单引号的字符串)识别为完整可执行文件名查找,无法匹配到系统里真实存在的bash程序,触发路径不存在报错。
修复步骤
- 第一步:打开对应配置文件
如果是自定义了调用Terminus的Python构建规则,通过顶部菜单栏Tools->Build System,找到当前在用的Python构建项,选择编辑对应.sublime-build文件;如果是Terminus全局shell配置错误,打开Preferences->Package Settings->Terminus->Settings,编辑右侧用户配置栏。 - 第二步:修正错误配置
找到配置里包含/usr/bin/env 'bash'的行,删掉bash外层多余的单引号:
如果是Terminus全局shell配置错误,检查错误写法示例:
"shell_cmd": "/usr/bin/env 'bash' -c \"python3 -u $file\""修正后写法:
"shell_cmd": "/usr/bin/env bash -c \"python3 -u $file\""shell_configs下Bash对应的cmd字段,不要给执行文件名加额外引号,正确配置片段如下:"shell_configs": [ { "name": "Bash", "cmd": ["bash", "-l"], "env": {}, "enable": true, "default": true } ] - 第三步:保存所有修改后的配置文件,重启Sublime Text,再次触发构建即可正常启动Terminus终端运行Python代码。
注意事项
所有传给/usr/bin/env的可执行文件名都不要额外包裹单/双引号,引号会被识别为文件名的一部分,导致系统找不到对应程序。
内容的提问来源于stack exchange,提问作者Samaykom
相关产品推荐
相关产品推荐

