如何通过设置环境变量的 Windows 终端启动 Git Bash?
Posted
技术标签:
【中文标题】如何通过设置环境变量的 Windows 终端启动 Git Bash?【英文标题】:How can I start Git Bash via Windows Terminal with environment variables set? 【发布时间】:2020-07-15 19:23:09 【问题描述】:我正在我的机器上运行 Windows 终端和 Git Bash。我想将 Git Bash 集成到 Windows 终端中,但我想在通过 Windows 终端运行 Git Bash 时设置环境变量MSYS_NO_PATHCONV=1
。
我不想将它添加到我的系统环境变量中,因为我希望能够在没有这个环境变量的情况下在 Windows 终端之外启动 Git Bash。
为了将 Git Bash 添加到 Windows 终端,我在 Windows 终端的 profiles.json 文件中创建了以下条目:
"guid": "3a20b825-3d22-41ed-b575-9006741aff64",
"name": "Git Bash",
"commandline": "C:\\Program Files\\Git\\usr\\bin\\bash.exe",
"icon": "C:/Program Files/Git/mingw64/share/git/git-for-windows.ico",
"startingDirectory": "~",
"hidden": false
这是我迄今为止尝试将环境变量导入 Git Bash 的方法:
将此环境变量添加为命令中的前缀:MSYS_NO_PATHCONV=1 "commandline": "C:\\Program Files\\Git\\usr\\bin\\bash.exe",
。这只会导致一条错误消息,并且不会启动 Git Bash。
创建一个批处理文件,首先在 Windows 上使用 set
命令设置环境变量,然后运行 Git Bash。这不会打开 Git Bash,而只是打开一个常规的 cmd 终端,在该终端中执行批处理文件中的命令。
查看了documentation for the profiles.json file,但没有提到为终端可执行文件设置环境变量。
有什么方法可以在 Windows 终端中使用我的自定义环境变量启动我的 Git Bash,而无需将其添加到系统的环境变量中?
【问题讨论】:
【参考方案1】:"commandline": "cmd.exe /C \"set MSYS_NO_PATHCONV=1 && \"C:\\Program Files\\Git\\bin\\bash.exe\"\"",
或将export MSYS_NO_PATHCONV=1
附加到~/.bashrc
。
【讨论】:
我必须使用C:\\Program Files\\Git\\bin\\bash.exe
(而不是\\usr\\bin\\bash.exe
)才能让bash 找到Unix 命令。否则它找不到像cat
或bash
这样的命令。
是的,我在PATH
中有那个文件夹,但我没有注意到。【参考方案2】:
如果您想在其他终端上保留该行为,您可能需要直接在 MSYS2 安装中编辑 msys2.ini
。
【讨论】:
以上是关于如何通过设置环境变量的 Windows 终端启动 Git Bash?的主要内容,如果未能解决你的问题,请参考以下文章
如何在启动 git bash 终端之前运行 linux 命令
windows 修改环境变量后在 vscode 的终端不生效的解决方法