私は何年もの間Bashshopt cdable_vars
オプションを使用してきました。解決にcdable_vars
が必要な宛先にcd
すると、シェルはCWDをエコーしてからプロンプトに戻ります。 不要cdable_vars
ルックアップが必要な宛先(つまり、正しい完全なスペルのサブディレクトリまたは絶対パス)にcd
すると、シェルはCWDをエコーしません。
これはcdable_vars
の通常の(文書化されていない)動作ですか?
Cdable_varに移動したことを思い出すのが好きだったので、ある時点でこの動作をアクティブにしたことをかすかに思い出します。今は欲しくないのですが、消す方法がわかりません。
cd
ビルトインを使用しています(関数やエイリアスはありません)。
プロンプトコマンドフックを使用しますが、set -x
で実行すると、プロンプトコマンドが実行される前にcd
コマンドとエコーの両方が発生することが示されます。
他に見る場所は?
私はこれを次の醜いハックで扱います:
$ type -a cd
cd is aliased to `cd $1 >/dev/null'
cd is a Shell builtin
つまり、この行を~/.bashrc
に追加します。
alias cd='cd >/dev/null'