Linux Bash:重新评估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重新

这是我的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重新评估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提示符。我也是,这就是为什么我要问;)