명령줄에서 파일 이름 뒤의 @는 어떤 역할을 합니까?

명령줄에서 파일 이름 뒤의 @는 어떤 역할을 합니까?

cat /home/@서버를 확보한 후 탭을 완료했을 때 그 사실을 알았습니다 . 이것은 내가 /etc/hosts에 넣은 것 같습니다. 하지만 이 경우 @의 역할은 무엇입니까? 편리한 파이프 기능이 누락되었나요?

나는 이것이 심볼릭 링크와 user:pass@server에도 사용된다는 것을 알고 있지만 이 경우에는 모르겠습니다. 누구든지 이것에 대해 밝힐 수 있습니까?

답변1

bash 및 기타 쉘에서는탭 완성관련된 기호는 @다음과 같습니다.

해당 지점 이전의 텍스트에 대해 완성을 시도합니다. 실제 실행은 애플리케이션에 따라 다릅니다. Bash는 텍스트를 변수(텍스트가 "$"로 시작하는 경우), 사용자 이름(텍스트가 "~"로 시작하는 경우),호스트 이름(텍스트가 "@"로 시작하는 경우), 또는 명령(별명 및 함수 포함)을 순서대로 사용합니다. 이들 중 어느 것도 일치하지 않으면 파일 이름 완성이 시도됩니다.

bash의 코드는 함수로 시작하는 /usr/share/bash-completion/bash_completion에 있습니다 ._user_at_host

관련 정보