【问题标题】:How to display git branch in PS1 with other output?如何在 PS1 中显示 git 分支和其他输出?
【发布时间】:2015-08-20 18:20:09
【问题描述】:

如果我在 git repo 中,我只能在 PS1 中显示分支名称 linux PS1 - display branch name only inside a git repo,但我无法将它与我早期的 PS1 集成,即

 PS1="[\D{%F} \@] \u /\W $ "

这显示,日期时间 + 用户名

 [2015-08-20 11:38 PM] mtk 

我试过了

PS1="[\D{%F} \@] \u /\W $(__git_ps1) $ "

但是,我得到错误

__git_ps1: command not found
<empty PS1>

有什么方法可以获取 git 分支名称以及我的 PS1 用来输出的早期详细信息?

编辑: 我也试过了

 PS1="[\D{%F} \@] \u /\W '$(__git_ps1)' $ "

但是,这总是给出空引号,即使在 git repo 中也是如此。

这个问题与那个不同。我要显示时间和日期 + git 分支(如果它在仓库中)。

【问题讨论】:

  • 作业中的单引号。您需要延迟扩展,直到为每个提示评估 PS1
  • 这个问题和你上一个问题真的没有区别。
  • @Etan 不一样。我无法将其他 PS1 功能与 $(__git_ps1)
  • 整个作业的单引号。你不希望它被评估。 PS1='....'
  • 谢谢,我可以用单引号来做到这一点..

标签: git bash ps1


【解决方案1】:
PS1="[\D{%F} \@] \u /\W \$(__git_ps1) $ "

PS1='[\D{%F} \@] \u /\W $(__git_ps1) $ '

您必须转义 $ 才能每次执行,而不仅仅是一次。您可以使用单引号或使用\ 转义它。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-12-15
    • 2012-07-03
    • 1970-01-01
    • 2023-04-05
    • 2012-06-01
    • 1970-01-01
    相关资源
    最近更新 更多