![명령줄에서 파일 이름 뒤의 @는 어떤 역할을 합니까?](https://linux55.com/image/113033/%EB%AA%85%EB%A0%B9%EC%A4%84%EC%97%90%EC%84%9C%20%ED%8C%8C%EC%9D%BC%20%EC%9D%B4%EB%A6%84%20%EB%92%A4%EC%9D%98%20%40%EB%8A%94%20%EC%96%B4%EB%96%A4%20%EC%97%AD%ED%95%A0%EC%9D%84%20%ED%95%A9%EB%8B%88%EA%B9%8C%3F.png)
cat /home/@
서버를 확보한 후 탭을 완료했을 때 그 사실을 알았습니다 . 이것은 내가 /etc/hosts에 넣은 것 같습니다. 하지만 이 경우 @의 역할은 무엇입니까? 편리한 파이프 기능이 누락되었나요?
나는 이것이 심볼릭 링크와 user:pass@server에도 사용된다는 것을 알고 있지만 이 경우에는 모르겠습니다. 누구든지 이것에 대해 밝힐 수 있습니까?
답변1
bash 및 기타 쉘에서는탭 완성관련된 기호는 @
다음과 같습니다.
해당 지점 이전의 텍스트에 대해 완성을 시도합니다. 실제 실행은 애플리케이션에 따라 다릅니다. Bash는 텍스트를 변수(텍스트가 "$"로 시작하는 경우), 사용자 이름(텍스트가 "~"로 시작하는 경우),호스트 이름(텍스트가 "@"로 시작하는 경우), 또는 명령(별명 및 함수 포함)을 순서대로 사용합니다. 이들 중 어느 것도 일치하지 않으면 파일 이름 완성이 시도됩니다.
bash의 코드는 함수로 시작하는 /usr/share/bash-completion/bash_completion
에 있습니다 ._user_at_host