ProjectA
, 및 이라는 세 개의 ProjectB
폴더 가 있습니다 ProjectC
. 완료 tab
하고 을 누르면 cd
선택됩니다. 다른 유사한 경우에도 이것이 사실이라는 것을 알았습니다. 사전순으로 마지막 순서로 기본값이 지정됩니다(그러나 가장 최근에 변경/추가된 것일 수도 있음).cd Project
EnterProjectC
이것이 예상되는 기본 동작입니까 cd
, 아니면 실수로 여기에 뭔가를 설정한 것입니까?
저는 bash 4.3과 함께 OSX 10.10.3을 실행하고 있습니다.
답변1
나는 이 동작을 경험하지 못했습니다. 그런데 재현할 수 있었어요. 실수로 옵션을 변경했을 수도 있습니다 cdspell
. 보다배쉬 참조 매뉴얼:
CD 철자법
설정된 경우 cd 명령의 디렉터리 구성 요소에서 사소한 오타를 수정합니다. 검사된 오류는 문자 전치, 누락된 문자, 너무 많은 문자입니다. 수정 사항이 발견되면 수정 사항에 대한 경로가 인쇄되고 명령이 계속됩니다. 이 옵션은 대화형 쉘에서만 사용됩니다.
나는 그것을 시도했고 항상 주어진 매개변수의 경로를 수정했습니다 cd
. 가능성이 여러 개인 경우(예: ProjectA
, ProjectB
및 가 있는 폴더 ProjectC
) 기본값은 디렉터리 순서의 마지막 항목입니다. 검사를 통과할 수 있습니다 ls -U
. 예를 참조하세요:
user@host:~$ ls -Ul
total 0
drwxr-xr-x 2 root root 40 May 26 08:11 ProjectA
drwxr-xr-x 2 root root 40 May 26 08:11 ProjectB
drwxr-xr-x 2 root root 40 May 26 08:11 ProjectC
user@host:~$ cd Project<tab><tab>
ProjectA/ ProjectB/ ProjectC/
user@host:~$ cd Project
ProjectC
user@host:~/ProjectC$
이 동작을 비활성화하려면 다음을 사용하십시오.
shopt -u cdspell