这是我的PS1:

export PS1='\u@\h:\w\$ '

看起来是这样的:
user@ubuntu:~/ $

我已将alt+{left,right}箭头绑定到更改当前工作目录的命令:
bind -x '"\e[1;3D":pushd . > /dev/null && cd ..'
bind -x '"\e[1;3C":popd > /dev/null'

这是可行的,但是ps1中的当前工作目录不计算,因为没有输入回车。有没有办法迫使bash重新评估ps1?

最佳答案

在接受了in-bash-how-do-i-bind-function-key-to-a-command的答案之后,删除-x并在末尾添加一个\n就可以了:

bind '"\e[1;3D":"pushd . >/dev/null && cd .. && echo\n"'
bind '"\e[1;3C":"popd > /dev/null && echo -n\n"'

关于linux - bash :重新评估PS1,但不返回回车,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40014376/

10-15 12:19