为什么我的自定义提示不显示在 Windows 10 上的 Ubuntu/Bash 中?

为什么我的自定义提示不显示在 Windows 10 上的 Ubuntu/Bash 中?

我将其添加到我的~/.bash_profile“Windows 上的 Ubuntu 上的 Bash”中(并且已git安装):

# Get the Git branch
parse_git_branch() {
  git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/ (\1)/'
}

# Custom bash prompt
#
# Includes custom character for the prompt, path, and Git branch name.
#
# Source: kirsle.net/wizards/ps1.html
export PS1="\n\[$(tput bold)\]\[$(tput setaf 5)\] \[$(tput setaf 6)\]\w\[$(tput setaf 3)\]\$(parse_git_branch) \[$(tput sgr0)\]"

当进入新的 bash shell 时,我没有看到此更改生效。我做错了什么?

我的~/.bashrc未受影响,仍处于默认状态。

如果我将上述代码添加到~/.bashrc,它就会起作用。但我不想用自定义来破坏它。

答案1

在“Windows 上的 Ubuntu 上的 Bash”中,打开的 shell 不是“登录 shell”,这意味着.bash_profile没有被读取,正如@Zanna 提到的(谢谢!)。

您可以使用shopt来查看您是否处于“登录 shell”中:

shopt login_shell

由于我希望保持整洁并将自定义内容放入他们自己的文件中,因此我现在从以下位置获取自定义文件.bashrc

  . ~/.bashrc_customizations

相关内容