PushdオートコンプリートCDPATHエントリを作成するには?

PushdオートコンプリートCDPATHエントリを作成するには?

私は持っていますバッシュ完了インストール後cdpushd私はbashの完成したソースコードを掘り下げ始めましたが、深さは少し外れました。

答え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実行は、読み取り専用のGNU Emacsを介したものなど、.bash_profileいくつかのシェル起動方法を処理することです。)ESC-x shell.bashrc

関連情報