我试图添加一个新的终端(Git Bash)到新的Windows终端。然而,我不能让它工作。
我尝试将profiles数组中的命令行属性更改为git-bash.exe,但没有运气。
有人知道怎么让它工作吗?
我试图添加一个新的终端(Git Bash)到新的Windows终端。然而,我不能让它工作。
我尝试将profiles数组中的命令行属性更改为git-bash.exe,但没有运气。
有人知道怎么让它工作吗?
当前回答
搞Linux的,抱歉我来晚了;我只是第一次安装git-bash,并研究它的命令应该在Windows终端中。
据我所知
Cygwin is not Windows, but it provides a POSIX translation layer (cygwin*.dll) so that all those non-Windows executables can run. Even when a new computer program is compiled and built with cygwin, it still turns out a non-Windows executable and it still needs cygwin*.dll to run. MSYS2 is mostly Windows with only a few tools that are probably difficult to port remaining non-Windows and requiring a POSIX translation layer to run (msys*.dll); but, most programs are actually Windows native executables. Even when a new computer program is compiled and built, it is my understanding that turns out a Windows native *.exe.
但我仍然不知道这些MSYSTEM*和MINGW*环境变量是否设置有多重要,当我要使用MINGW编译器时,无论如何。
我确实注意到,在整个线程中,两个命令行都不断出现,即./bin/bash和./usr/bin/bash;所以,我把它们发射出去,比较它们的环境……结果可能会大不相同。
要知道,在启动下面的任何shell之前,我已经有C:\Git\mingw64\bin和C:\Git\usr\bin作为系统变量PATH的一部分;我这样做是因为我希望能够直接从CMD使用bash命令。但我不认为这对下面的结果有任何影响。
c:\Git\bin\bash.exe --login c:\Git\usr\bin\bash.exe --login
Environment Variable c:\Git\bin\bash.exe c:\Git\usr\bin\bash.exe
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
EXEPATH c:\git\bin c:\git\bin n n
HOSTNAME n MDXXXXXX n MDXXXXXX
MINGW_CHOST n x86_64-w64-mingw32 n n
MINGW_PACKAGE_PREFIX n mingw-w64-x86_64 n n
MINGW_PREFIX n /mingw64 n n
MSYSTEM_CARCH n x86_64 n x86_64
MSYSTEM_CHOST n x86_64-w64-mingw32 n x86_64-pc-msys
MSYSTEM_PREFIX n /mingw64 n /usr
MSYSTEM MINGW64 MINGW64 n MSYS
PLINK_PROTOCOL ssh ssh n n
SHELL n /usr/bin/bash n /usr/bin/bash
TMPDIR n /tmp n /tmp
ORIGINAL_PATH n y n y
ORIGINAL_TEMP n y n y
ORIGINAL_TMP n y n y
PATH /mingw64/bin:/usr/bin:$HOME/bin:$PATH
PATH $HOME/bin:/mingw64/bin:/usr/local/bin:/usr/bin:/bin:/mingw64/bin:/usr/bin:$HOME/bin:$PATH
PATh $PATH
PATH $HOME/bin:/usr/local/bin:/usr/bin:/bin:/opt/bin:$PATH
因此,在我看来,更正确的做法是使用。/bin/bash——login;但此时此刻,我不确定会有什么不同,比如说,当真正使用MINGW64/GCC编译一个全新的程序时;让我们拭目以待。
其他回答
因为大多数答案要么显示大量不相关的配置,要么不显示配置,所以我创建了自己的答案,试图更集中。它主要是基于配置文件设置参考和阿基米德特拉哈诺的答案。
步骤
Open PowerShell and enter [guid]::NewGuid() to generate a new GUID. We will use it at step 3. > [guid]::NewGuid() Guid ---- a3da8d92-2f3f-4e36-9714-98876b6cb480 Open the settings of Windows Terminal. (CTRL+,) Add the following JSON object to profiles.list. Replace guid with the one you generated at step 1. { "guid": "{a3da8d92-2f3f-4e36-9714-98876b6cb480}", "name": "Git Bash", "commandline": "\"%PROGRAMFILES%\\Git\\usr\\bin\\bash.exe\" -i -l", "icon": "%PROGRAMFILES%\\Git\\mingw64\\share\\git\\git-for-windows.ico", "startingDirectory" : "%USERPROFILE%" },
笔记
There is currently an issue that you cannot use your arrow keys (and some other keys). It seems to work with the latest preview version, though. (issue #6859) Specifying "startingDirectory" : "%USERPROFILE%" shouldn't be necessary according to the reference. However, if I don't specify it, the starting directory was different depending on how I started the terminal initially. Settings that shall apply to all terminals can be specified in profiles.defaults. I recommend to set "antialiasingMode": "cleartype" in profiles.defaults. You have to remove "useAcrylic" (if you have added it as suggested by some other answers) to make it work. It improves the quality of text rendering. However, you cannot have transparent background without useAcrylic. See issue #1298. If you have problems with the cursor, you can try another shape like "cursorShape": "filledBox". See cursor settings for more information.
如果有人正在寻找一个基于ui的解决方案。下面就是:
进入终端设置。 在右下角,寻找“添加新配置文件”选项。 终端设置的截图。 选择“新建空配置文件” 现在用关于bash的信息完成字段。如果你的安装位置是默认的,你可以使用这些:
名称:Git-Bash 命令行:C:\Program Files\Git\bin\bash.exe 启动目录:[保留默认值] 图标:C:\Program Files\Git\mingw64\share\git\ git-for-windows.ico 标签标题:Git-Bash 终端设置完成 如果需要的话,您还可以浏览正确的文件。
点击保存按钮。
最终结果
最终结果。Bash终端
将profiles参数更改为"commandline": "%PROGRAMFILES%\\Git\\bin\\bash.exe -l -i"
这对我来说是可行的,并且允许运行.bash_profile别名自动完成脚本。
我是这样做的:
添加“%programfiles%\Git\Bin”到你的路径 在档案上。将需要的命令行设置为"commandline": "sh——cd-to-home" 重新启动Windows终端
这对我很管用。
搞Linux的,抱歉我来晚了;我只是第一次安装git-bash,并研究它的命令应该在Windows终端中。
据我所知
Cygwin is not Windows, but it provides a POSIX translation layer (cygwin*.dll) so that all those non-Windows executables can run. Even when a new computer program is compiled and built with cygwin, it still turns out a non-Windows executable and it still needs cygwin*.dll to run. MSYS2 is mostly Windows with only a few tools that are probably difficult to port remaining non-Windows and requiring a POSIX translation layer to run (msys*.dll); but, most programs are actually Windows native executables. Even when a new computer program is compiled and built, it is my understanding that turns out a Windows native *.exe.
但我仍然不知道这些MSYSTEM*和MINGW*环境变量是否设置有多重要,当我要使用MINGW编译器时,无论如何。
我确实注意到,在整个线程中,两个命令行都不断出现,即./bin/bash和./usr/bin/bash;所以,我把它们发射出去,比较它们的环境……结果可能会大不相同。
要知道,在启动下面的任何shell之前,我已经有C:\Git\mingw64\bin和C:\Git\usr\bin作为系统变量PATH的一部分;我这样做是因为我希望能够直接从CMD使用bash命令。但我不认为这对下面的结果有任何影响。
c:\Git\bin\bash.exe --login c:\Git\usr\bin\bash.exe --login
Environment Variable c:\Git\bin\bash.exe c:\Git\usr\bin\bash.exe
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
EXEPATH c:\git\bin c:\git\bin n n
HOSTNAME n MDXXXXXX n MDXXXXXX
MINGW_CHOST n x86_64-w64-mingw32 n n
MINGW_PACKAGE_PREFIX n mingw-w64-x86_64 n n
MINGW_PREFIX n /mingw64 n n
MSYSTEM_CARCH n x86_64 n x86_64
MSYSTEM_CHOST n x86_64-w64-mingw32 n x86_64-pc-msys
MSYSTEM_PREFIX n /mingw64 n /usr
MSYSTEM MINGW64 MINGW64 n MSYS
PLINK_PROTOCOL ssh ssh n n
SHELL n /usr/bin/bash n /usr/bin/bash
TMPDIR n /tmp n /tmp
ORIGINAL_PATH n y n y
ORIGINAL_TEMP n y n y
ORIGINAL_TMP n y n y
PATH /mingw64/bin:/usr/bin:$HOME/bin:$PATH
PATH $HOME/bin:/mingw64/bin:/usr/local/bin:/usr/bin:/bin:/mingw64/bin:/usr/bin:$HOME/bin:$PATH
PATh $PATH
PATH $HOME/bin:/usr/local/bin:/usr/bin:/bin:/opt/bin:$PATH
因此,在我看来,更正确的做法是使用。/bin/bash——login;但此时此刻,我不确定会有什么不同,比如说,当真正使用MINGW64/GCC编译一个全新的程序时;让我们拭目以待。