나는 누르면 ~TabTab프롬프트 bash는 명령과 완성의 예상치 못한 세트를 얻었다.
먼저 /Users
디렉토리 에있는 모든 사람들과 같았습니다 .
그런 다음에 “홈”디렉토리 /etc/password
또는 아마도 그 디렉토리가있는 사람들의 역방향 조회를 수행하고 있다고 생각 /var/empty
했습니다.
내가 궁금한 점은 실제로 진행되고있는 이유 와 이것이 작동하는 이유 입니다.
답변
확인하기 편리한 OSX 시스템은 없지만 모든 * nixes에서 ~foo
user의 홈 디렉토리에 대한 축약 형입니다 foo
. 예를 들어,이 명령은 내 사용자로 이동합니다 $HOME
( cd ~
혼자서만 홈 디렉토리로 이동).
cd ~terdon
그래서, ~
그리고 Tab모든 가능한 사용자 이름에 확장됩니다. 이 목록은의 사용자 목록과 같아야합니다 /etc/passwd
.
나는 이것이 데비안에서 이것을 시도 할 때 정확히 일어난다는 것을 확인할 수 있습니다.
답변
나는 그것이 / etc / password에 “home”디렉토리를 가진 사람들의 역방향 조회를하고 있다고 생각했다.
OS X에서 / etc / passwd 대신 Open Directory가 참조됩니다.