我有bash 完成安装后,当使用cd
.我想从 获得相同的功能pushd
。我开始深入研究 bash-completion 源代码,但有点超出了我的深度。
答案1
尝试将其添加到您的 .bash_profile 中:
# Taken from /usr/share/bash-completion/bash_completion on my
# Ubuntu 16.04 system, substituting "pushd" for "cd":
if shopt -q cdable_vars; then
complete -v -F _cd -o nospace pushd
else
complete -F _cd -o nospace pushd
fi
对我有用。请注意,它是缩进的,因为它受到 的“保护” if [ -n "$PS1" ]
,以确保它不会在非交互式会话中运行。 (我的.bashrc
运行是.bash_profile
为了处理 shell 启动的一些方式,例如ESC-x shell
GNU Emacs 中的 via,它只读.bashrc
。)