windows中默认使用bash

目的:

为了在windows中也有Linux的命令行操作体验,并且发现win11的命令行工具界面有许多可以自定义的设置,所以捣鼓一下

准备

  1. win11系统,主要是有可以自定义终端启动配置的功能,未尝试其它系统是否可行;
  2. 安装了git,因为这种实现,就是快捷调用git提供的bash.exe而已,位于"安装目录下/bin/bash.exe",与git-bash.exe区分;

实现

  1. 在“桌面”或者任意空白处右键选择“在终端中打开”;
    image-20230610020948736
  2. 标签下拉选择“设置”;
    image-20230610021102790
  3. 左侧下方选择“添加新配置文件”;
    img
  4. “添加空配置文件”;
    image-20230610021321524
  5. 详细配置;
    image-20230610021433654
    1. 名称可以自定义,比如:“git_bash”;
    2. 命令行就是填git安装文件夹下的bash.exe路径,注意:不是git-bash.exe 的路径,二者不同,如果配置为后者,打开窗口会新启动git的窗口,示例配置:“D:\Program Files\Git\bin\bash.exe”
    3. 启动目录建议取消勾选“使用父进程目录”,这样在文件夹内选“在终端中打开”,路径就直接是当前文件夹路径了,而不是特定目录;
      image-20230610022214693
    4. 其他选择按需配置;
    5. 保存配置;
  6. 这样就关联了bash.exe的启动,但是启动终端并不是默认bash而是cmd或者powershell,那么需要把默认启动的改为刚才我们添加的配置;
    image-20230610022754967
  7. “保存”并退出,之后我们只要是“在终端中打开”,就默认启动bash,可以使用bash命令;

字符乱码问题

这样默认设置好了bash,但是在终端中输出中文时,会出现乱码问题。

解决方法如下:

如果在使用bash.exe时出现中文乱码问题,可以尝试以下几种解决方法:

  1. 设置字符编码:

    • 打开命令提示符或PowerShell。
    • 运行以下命令,设置chcp命令的输出字符编码为UTF-8:
      chcp 65001
      
    • 然后再次运行bash.exe并执行dir命令,查看是否能够正确显示中文字符。
  2. 修改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命令,看是否能够正确显示中文字符。
  3. 使用支持Unicode的终端模拟器:

    • 如果你使用的终端模拟器(如Windows Terminal、ConEmu 等)支持Unicode字符集,尝试在终端模拟器中直接运行bash.exe,而不是在命令提示符或PowerShell中执行。
    • 这些终端模拟器通常会正确处理中文字符的显示。

请注意,以上方法可能因操作系统版本、终端设置或其他因素而有所不同。如果以上方法无法解决问题,建议尝试使用其他终端模拟器或考虑使用适用于Windows的其他Bash解释器,如WSL (Windows Subsystem for Linux)。

我依次使用了第一、第二种方法,第二种方法试完后,问题解决。

posted @ 2023-06-10 02:41  胡安  阅读(2519)  评论(0编辑  收藏  举报