【问题标题】:PS1 bash command substitution not working on windows 10PS1 bash 命令替换在 Windows 10 上不起作用
【发布时间】:2015-10-19 17:32:14
【问题描述】:

这是设置我的 bash PS1 的脚本

# Reset
Color_Off="\[\033[0m\]"       # Text Reset

# Regular Colors
Black="\[\033[0;30m\]"        # Black
Red="\[\033[0;31m\]"          # Red
Green="\[\033[0;32m\]"        # Green
Yellow="\[\033[0;33m\]"       # Yellow
Blue="\[\033[0;34m\]"         # Blue
Purple="\[\033[0;35m\]"       # Purple
Cyan="\[\033[0;36m\]"         # Cyan
White="\[\033[0;37m\]"        # White

# Bold
BBlack="\[\033[1;30m\]"       # Black
BRed="\[\033[1;31m\]"         # Red
BGreen="\[\033[1;32m\]"       # Green
BYellow="\[\033[1;33m\]"      # Yellow
BBlue="\[\033[1;34m\]"        # Blue
BPurple="\[\033[1;35m\]"      # Purple
BCyan="\[\033[1;36m\]"        # Cyan
BWhite="\[\033[1;37m\]"       # White

# Various variables you might want for your PS1 prompt instead
Time12h="\T"
Time12a="\@"
PathShort="\w"
PathFull="\W"
NewLine="\n"
Jobs="\j"

GIT_PS1_SHOWDIRTYSTATE="true"

PS1="\n${BBlack}\u@\h ${BRed}\w${BYellow}\$(__git_ps1 ' { %s }')${BGreen}\n$ "

直到昨天我决定将笔记本电脑更新到 Windows 10 时,它一直运行良好。

现在它抛出这个错误:

bash: command substitution: line 1: syntax error near unexpected token `)'
bash: command substitution: line 1: `__git_ps1 ' { %s }')'

知道是什么导致了这个错误吗?

【问题讨论】:

    标签: bash windows-10 ps1


    【解决方案1】:

    问题是 ps1 内的结束新行。我找到了解决方案here。将我的 PS1 更改为:

    PS1="\n${BBlack}\u@\h ${BRed}\w${BYellow}\$(__git_ps1 ' { %s }')${BGreen}"$'\n$ '
    

    【讨论】:

    • 很好的发现。我一直更喜欢单行提示 PS1="\[\e[0;37m\]\D{%R}\[\e[1;34m\] \h:\w> \[\e[0m\]" 试一试(我使用深色 xterm)。
    • 也帮助了我,谢谢!必须在 Git\etc\profile 中更改一行,重新启动控制台,就像一个魅力。
    • 当您对 PS1="bla bla" 使用双引号时,当您进入和退出带有 .git 存储库的文件夹时,它会自动刷新吗?因为我的 bash 4.3.42(5)-release (x86_64-pc-msys) 仅在您登录特定目录时刷新,然后即使我更改目录,它也会卡在分支名称上。
    • 不错的发现,从字面上删除 '\n' 解决了问题。我还尝试了附加$'\n$ ' 以用美元替换新行的解决方案,这对我也有用!谢谢!
    【解决方案2】:

    我认为错误来自这里\$(__git_ps1.....

    应该是$(__git_ps1.....(不带'\')

    我已经在(windows 10 / git 2.10.2)上测试过这个:

    PS1="\n${White}\u@\h ${BRed}\w${BYellow} $(__git_ps1 ' { %s }')${BGreen}\n$ ${Color_Off}"
    

    没问题

    【讨论】:

      猜你喜欢
      • 2017-01-23
      • 1970-01-01
      • 2020-05-19
      • 2020-09-27
      • 1970-01-01
      • 2021-07-20
      • 2022-08-18
      • 2017-09-01
      • 2018-06-21
      相关资源
      最近更新 更多