shopt -s cdable_vars가 예상대로 확장되지 않습니다.

shopt -s cdable_vars가 예상대로 확장되지 않습니다.

내 클러스터(루트 액세스 권한이 없음)에서 다음을 정의했습니다 .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

관련 정보