다음과 같은 트리 구조가 있다고 가정해 보겠습니다.
~/user
|_____ dir0
|_____ symlink0
| |_______ somefile0
|_____ symlink1
|_______ somefile1
|_______ somefile2
내가 이렇게 하면:
cd
cd symlink0/
cd ../[tab][tab]
~/user의 내용을 표시하고 싶습니다.
dir0 symlink0 symlink1
그래서 나는 다음과 같이 할 수 있습니다 :
cd ../symlink1/
하지만 대신 직접 자동으로 수행됩니다.
cd ../dir0/
...[tab] 키를 한 번만 누르세요.
어떤 제안이 있으십니까? 감사해요!
편집: 다른 컴퓨터에서는 위 예의 "실제" 디렉터리를 사용해도 전혀 자동 완성되지 않습니다. 여러 디렉터리의 경우 사용된 시스템에 따라 전혀 자동 완성되지 않거나(가능한 디렉터리는 제안되지 않음) 첫 번째 디렉터리만 자동 완성됩니다.
이는 트리 구조에서 더 높은 디렉토리에 액세스하려고 할 때만 발생합니다(예: ./path/to에 두 개의 기호 링크가 포함되어 있으면 선택을 위한 cd ./path/to/sym # press [tab][tab]
출력이 됩니다 symlink0 symlink1
).
답변1
그 이유는 쉘의 경우 심볼릭 링크가선험적으로파일일 뿐이며 사실을 가리킵니다.목차이는 해당 내용을 검사하고 대상이 실제로 디렉터리임을 인식함으로써만 분명해집니다. 디렉토리에 대한 심볼릭 링크의 이름을 입력하기 시작할 때 다음을 누를 때만 나타나는 것을 눈치챘을 것입니다.TAB
두 배.
귀하가 제안한 설정에는실제디렉토리의 자동 완성에는 cd
분명히 인수로 디렉토리가 필요하며 탐욕적이며 심볼릭 링크가 해석될 때까지 기다리지 않고 해당 디렉토리를 허용합니다.
다음 제안 사항을 따르면 이 문제를 극복할 수 있습니다.이 게시물.