如何制作 Pushd 自动完成 CDPATH 条目?

如何制作 Pushd 自动完成 CDPATH 条目?

我有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 shellGNU Emacs 中的 via,它只读.bashrc。)

相关内容