Linux Bash:重新评估PS1而不返回回车
这是我的PS1:Linux Bash:重新评估PS1而不返回回车,linux,bash,prompt,Linux,Bash,Prompt,这是我的PS1: export PS1='\u@\h:\w\$ ' 看起来是这样的: user@ubuntu:~/ $ 我已将Alt+{Left,Right}Arrow绑定到更改当前工作目录的命令: bind -x '"\e[1;3D":pushd . > /dev/null && cd ..' bind -x '"\e[1;3C":popd > /dev/null' 这是可行的,但是PS1中的当前工作目录没有被评估,因为没有输入回车。有没有办法强迫bash重新
export PS1='\u@\h:\w\$ '
看起来是这样的:
user@ubuntu:~/ $
我已将Alt+{Left,Right}Arrow绑定到更改当前工作目录的命令:
bind -x '"\e[1;3D":pushd . > /dev/null && cd ..'
bind -x '"\e[1;3C":popd > /dev/null'
这是可行的,但是PS1中的当前工作目录没有被评估,因为没有输入回车。有没有办法强迫bash重新评估PS1?下面是的公认答案,看起来删除
-x
并在末尾添加\n
就可以了:
bind '"\e[1;3D":"pushd . >/dev/null && cd .. && echo\n"'
bind '"\e[1;3C":"popd > /dev/null && echo -n\n"'
即使您没有执行命令,您也希望它重新显示提示?我已通过bind执行了一个命令。如果您将
&echo-n”“
添加到绑定的末尾,会怎么样?不,没有帮助。它实际上没有做我想要的事,因为它显示命令,然后添加回车符。但我希望在不显示命令的情况下执行此操作,并添加回车符。出于美观的原因,我想进行内联更改。谢谢,已修复。我找不到任何其他方法迫使bash重新发布$PS1提示符。我也是,这就是为什么我要问;)