我想在提示中显示当前工作分支,如下所示:
f() { echo -n $(awk -F/ '{print $3}' <(git symbolic-ref HEAD));}; PS1="\$(f) $ "
如果我在PS1赋值中的函数调用命令替换之前删除了反斜杠字符,那么在更改git分支期间,函数将 NOT 正确调用。只有在存在反斜杠时才会得到预期的行为。我想知道这&#34; \&#34;使函数调用适当吗?
此外,以下对PS1变量的直接赋值不会在更改分支时更新提示字符串,即使此处存在\。
export PS1="\$(awk -F/ '{print $3}' <<< `git symbolic-ref HEAD`) $ "
让我知道如何纠正它。
答案 0 :(得分:0)
无需使用echo -n
,只需使用printf
中的awk
即可在不换行的情况下进行打印:
f() { awk -F/ '{printf "%s", $3}' <(git symbolic-ref HEAD); }
然后在PS1
中使用它作为:
PS1='$(f) $ '