window中默认使用bash

Posted 陋室

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了window中默认使用bash相关的知识,希望对你有一定的参考价值。

目的:

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

准备

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

实现

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

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

Windows的idea的Terminal替换为git bash(默认是Windows的cmd.exe命令行)

背景

Windows版的Intellij IDEA 默认的Terminal是Windows的cmd.exe命令行,如图
效果如下图

在这里输入git命令也不是不可以,只是有些小细节比较不方便而已。其实是可以改成git bash的那个bash.exe的

使用idea默认的cmd.exe有啥不太好的细节?

  • 不显示当前git的分支,命令着色上差一些
  • 有些命令和git bash不太相同
    • 如win的命令行使用 cls 清屏而bash使用和Linux一样的clear
    • 如win中没有grep命令

如何修改

在 File -> Settings -> Tools -> Terminal 里将Shell path修改为bash.exe(浏览到Windows git的安装目录的bin下并选择),如图
(备注:全局生效、不需要重启idea生效)

如下图,换后可以直观地看到当前所在的分支名等,高亮着色显眼。

以上是关于window中默认使用bash的主要内容,如果未能解决你的问题,请参考以下文章

Windows的idea的Terminal替换为git bash(默认是Windows的cmd.exe命令行)

vscode 怎样使用 bash on windows 上的git

解决windows下git bash和tig乱码

解决windows下git bash和tig乱码

Windows10子系统Bash环境安装

vscode (v1.57.0) 配置默认终端为git bash