2016-11-04 19 views
1

유닉스 배시 셸에서 cd을 입력하고 Tab 키를 누르면 선택할 수있는 옵션으로 디렉토리와 파일이 모두 나열됩니다. 디렉토리와 디렉토리에 대한 링크를 표시하는 것은 직관적이어야합니다. 파일을 직관적으로 나열하지 않겠습니까?Unix-bash cd 명령과 탭에서 디렉토리와 파일을 모두 표시합니다.

예를 들어 ./ 및 탭에는 스마트 한 실행 권한이있는 항목 만 나열됩니다.

왜 cd 명령으로 bash가 똑같은 지능을 가지지 않습니까? 그게 버그 야?

+0

방금 ​​시도했지만 설명하는 동작을 알지 못했습니다. 그거 확실해? –

+0

분명히, 그렇습니다. 저는 리눅스 2.6.32-431.el6.x86_64를 사용하고 있습니다. 리눅스 5.9에서도 마찬가지였다. 배시 버전 : GNU bash, 버전 4.1.2 (1) -release (x86_64-redhat-linux-gnu) Copyright, (C) 2009 Free Software Foundation, Inc. – syam

+0

토마스, 당신을위한 디렉토리? 어떤 Linux를 사용하고 있습니까? – syam

답변

2

bashrc에 다음 명령을 추가

complete -d cd # or ``complete -A directory cd'' 

다음거야 cd 명령 (DIRS에 심볼릭 링크 포함)에만 자동 완성 DIRS.

자세한 내용은 bash 설명서에서 Programmable Completion Builtins을 참조하십시오.

1

두 경우 모두 파일 이름 완성이 나타납니다. bash에는 명령 이름에 실행 권한이 있어야한다는 것을 인식 할 수있는 충분한 내장 기능이 있으므로 ./ + Tab을 실행 파일로 제한합니다. 인수를에서 cd으로 완료하면 프로그래밍 가능 도메인 (해당 명령은 반드시 디렉토리를 인수로 취하지는 않는 완전히 다른 명령으로 내장 명령을 섀도 잉 할 수 있기 때문에) 완료가됩니다.

bash의 프로그래밍 가능한 완료 기능은 훌륭하지만 어떤 이유로 든 기본 설치에는 실제로 이러한 완료가 포함되지 않습니다. 하지만 large set of completions available이 있는데 하나는 cd입니다.