windows中默认使用bash
目的:
为了在windows中也有Linux的命令行操作体验,并且发现win11的命令行工具界面有许多可以自定义的设置,所以捣鼓一下
准备
- win11系统,主要是有可以自定义终端启动配置的功能,未尝试其它系统是否可行;
- 安装了git,因为这种实现,就是快捷调用git提供的bash.exe而已,位于"安装目录下/bin/bash.exe",与git-bash.exe区分;
实现
- 在“桌面”或者任意空白处右键选择“在终端中打开”;
- 标签下拉选择“设置”;
- 左侧下方选择“添加新配置文件”;
- “添加空配置文件”;
- 详细配置;
- 名称可以自定义,比如:“git_bash”;
- 命令行就是填git安装文件夹下的bash.exe路径,注意:不是git-bash.exe 的路径,二者不同,如果配置为后者,打开窗口会新启动git的窗口,示例配置:“D:\Program Files\Git\bin\bash.exe”
- 启动目录建议取消勾选“使用父进程目录”,这样在文件夹内选“在终端中打开”,路径就直接是当前文件夹路径了,而不是特定目录;
- 其他选择按需配置;
- 保存配置;
- 这样就关联了bash.exe的启动,但是启动终端并不是默认bash而是cmd或者powershell,那么需要把默认启动的改为刚才我们添加的配置;
- “保存”并退出,之后我们只要是“在终端中打开”,就默认启动bash,可以使用bash命令;
字符乱码问题
这样默认设置好了bash,但是在终端中输出中文时,会出现乱码问题。
解决方法如下:
如果在使用
bash.exe
时出现中文乱码问题,可以尝试以下几种解决方法:
设置字符编码:
- 打开命令提示符或PowerShell。
- 运行以下命令,设置
chcp
命令的输出字符编码为UTF-8:chcp 65001
- 然后再次运行
bash.exe
并执行dir
命令,查看是否能够正确显示中文字符。修改
bash.exe
的默认字符编码:
- 定位到
bash.exe
所在的目录。- 备份并打开
etc
文件夹中的bash.bashrc
文件(例如,C:\Program Files\Git\etc\bash.bashrc
)。- 在文件末尾添加以下行:
export LANG="zh_CN.UTF-8" export LC_ALL="zh_CN.UTF-8"
- 保存文件并重新打开
bash.exe
,执行dir
命令,看是否能够正确显示中文字符。使用支持Unicode的终端模拟器:
- 如果你使用的终端模拟器(如Windows Terminal、ConEmu 等)支持Unicode字符集,尝试在终端模拟器中直接运行
bash.exe
,而不是在命令提示符或PowerShell中执行。- 这些终端模拟器通常会正确处理中文字符的显示。
请注意,以上方法可能因操作系统版本、终端设置或其他因素而有所不同。如果以上方法无法解决问题,建议尝试使用其他终端模拟器或考虑使用适用于Windows的其他Bash解释器,如WSL (Windows Subsystem for Linux)。
我依次使用了第一、第二种方法,第二种方法试完后,问题解决。
乞求————永远不是存活的正确方式