我正在尝试在Git for Windows Bash提示符中设置我的用户提示。这是一个非常简单的提示:
# \@ Prints the time: 11:14 AM
# \w Prints the full cwd path
# $(__git_ps1 ...) Prints the current git branch
PS1='\n[\@] \w $(__git_ps1 "(%s)") \$ '
只要我在混音中添加第二个换行符,我就会收到以下错误:
bash: command substitution: line 1: syntax error near unexpected token ')'
bash: command substitution: line 1: `__git_ps1 "(%s)")'
抛出此错误的提示的变体是(注意$
提示符之前的换行符):
PS1='\n[\@] \w $(__git_ps1 "(%s)") \n\$ '
我认为导致此问题发生的__git_ps1
例程必定存在问题,但我并不理解。这里有什么简单的东西我不知道吗?
答案 0 :(得分:2)
因此,事实证明这有already been answered。
通过使用quoted string expansion,可以避免此问题:
PS1='\n[\@] \w $(__git_ps1 "(%s)")'$'\n\$ '
令我惊讶的是,在2016年,Bash仍然使用这种糟糕,可怕的语法。必须有更好的方法。