Skip to main content
 首页 » 编程设计

eclipse中配置 Eclipse 以使用 Cygwin 工具链的 bash 登录 shell

2024年09月07日26jackei

我在 Eclipse 中有一个自定义 Makefile 项目,虽然构建确实在 Cygwin shell 中运行...但它似乎不是登录 shell (bash --login),因为它不是不像运行 cygwin.bat 那样设置我的环境变量。

在 Eclipse 中哪里可以更改 shell 命令以使其成为登录 shell?

请您参考如下方法:

您使用 bash --login 的实际目标是 /etc/profile 中的设置。

在 UNIX 下,您通常只有一个登录 shell,因此所有其他 shell 都会继承这些设置。在 Windows 下,任何 Bash 窗口都是一个孤立的登录 shell,这会导致从仅作为命令处理器运行 bash 的工具运行 Bash 时缺少环境设置。

我在使用 Emacs 编译功能时也遇到了类似的问题。 Windows下最好的解决方案是将环境变量BASH_ENV设置为脚本。 Bash 将在没有 -i--login 启动时执行此脚本,因此 /etc/profile 不会运行。因此,该脚本将为非交互式、非登录 shell 设置 Bash。

示例:

BASH_ENV=%USERPROFILE%\.bash_env 

作为用户环境变量。在此脚本中要做的最少的事情就是按照 /etc/profile 中的方式设置 PATH:

PATH="/usr/local/bin:/usr/bin:${PATH}" 

检查 /etc/profile 中的路径设置,因为它是由 Cygwin 的 setup.exe 创建的。您还可以从 ~/.bashrc 复制设置或获取此脚本。

希望这有帮助。