shopt -s cdable_vars が期待どおりに拡張されません。

shopt -s cdable_vars が期待どおりに拡張されません。

私のクラスタ(rootアクセス権がない)で以下を定義しました.bashrc

shopt -s cdable_vars
shopt -s direxpand
export s13=/c13scratch/rudrab

私は次の所有者です/c13scratch/rudrab

ll /c13scratch/ |\grep rudrab
drwxr-xr-x 15 rudrab         users 4.0K Apr 29 23:58 rudrab

今、私は次のような状況に直面しています。

  1. cd s1<tab>またはcd s13<tab>: 何も起こりません。
  2. cd $s13<tab>以下を提供します。cd $s13<space>
  3. <backspace>2以降にinを使用すると展開cd $s13<space>され、cd /c13scratch/rudrab後続のタブにはその中のサブディレクトリが表示されます。/c13scratch/rudrab

cd s13<tab>私は($記号なしで)通常の作業を完了し、サブbash_completionディレクトリを表示することを期待しています。

私がここで何を間違っているのか?

私は以下を使用しています:

bash --version
GNU bash, version 4.2.46(2)-release (x86_64-redhat-linux-gnu)

ベストアンサー1

部分的な回避策(変数名は拡張されますが、その値はコマンドラインから変わりません):パッケージがインストールされているbash-completion場合は、コマンドの完了を再インストールしますcd

complete -v -F _cd -o nospace cd pushd

cdable_varsパッケージのインポート時に設定されている場合はこれを行うため、/etc/profile.d/bash_completion.shその前にインポートする profile.d をインストールする必要があります。

パッケージがない場合にinfo bashサポートされる完成機能の例を提供してください。cdcdable_vars

おすすめ記事