私のクラスタ(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
今、私は次のような状況に直面しています。
cd s1<tab>
またはcd s13<tab>
: 何も起こりません。cd $s13<tab>
以下を提供します。cd $s13<space>
<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
サポートされる完成機能の例を提供してください。cd
cdable_vars