홈 디렉토리 ~/경로를 참조하기 위해 허용되는 이름이 있습니까?
답변을 검색하는 동안 다양한 용어를 사용하는 게시물을 찾았습니다.
- ~/ 구문
- ~/경로
- ~/ 확장된 경로
- ~/ 표기법
그러나 ~/ 구문 경로에 사용할 일관되고 편리한 용어를 찾을 수 없으며 전체 절대 경로 또는 상대 경로와 구별하는 데 사용할 수 있습니다.
~/ 경로는 쉘이 확장하기 때문에 절대 경로라는 것을 알고 있습니다. 이는 제가 원하는 경로를 참조하는 편리한 방법입니다.
답변1
~/
여러 가지 마법 중 하나일 뿐입니다."물결표 확장". 물결표 확장은 특히 UNIX 쉘과 관련이 있습니다. $HOME
물결표 확장과 달리 보편적으로 이해되지 않으며 쉘마다 다를 수 있습니다. 유일한 공통점은 POSIX 표준(대부분)을 준수한다는 것이며 Wikipedia에 따르면 POSIX 쉘 표준은 다음과 같습니다. Bourne Shell의 파생물인 Korn Shell의 "엄격한 하위 집합"을 기반으로 하는 Bourne Shell의 자손에는 특히 bash 및 zsh가 포함됩니다.POSIX가 Tilde 확장에 대해 말하는 내용은 다음과 같습니다.:
"물결표 접두사"는 단어 시작 부분에 인용되지 않은 문자, 그 뒤에 단어에서 인용되지 않은 첫 번째 문자 앞에 오는 모든 문자 또는 가 없는 경우 단어에 있는 모든 문자로 구성됩니다. 할당(XBD 변수 할당 참조)에서는 여러 개의 물결표 접두사를 사용할 수 있습니다. 즉, 단어 시작 부분(즉, 할당 뒤), 따옴표가 없는 뒤에 또는 둘 다 사용할 수 있습니다. 과제의 물결표 접두사는 따옴표가 없는 첫 번째 또는 로 끝납니다. 물결표 접두사의 문자가 모두 따옴표로 묶이지 않은 경우 물결표 접두사의 문자는 사용자 데이터베이스에서 가능한 로그인 이름으로 처리됩니다. 휴대용 로그인 이름에는 XBD 기타 환경 변수의 LOGNAME 환경 변수 설명에 지정된 집합 외부의 문자가 포함될 수 없습니다. 로그인 이름이 null인 경우(즉, 물결표 접두어에 물결표만 포함된 경우) 물결표 접두어는 HOME 변수의 값으로 대체됩니다. HOME이 설정되지 않은 경우 결과가 지정되지 않습니다. 그렇지 않으면 물결표 접두사는 POSIX.1-2008의 시스템 인터페이스 볼륨에 정의된 대로 getpwnam() 함수를 사용하여 얻은 로그인 이름과 연관된 초기 작업 디렉토리의 경로 이름으로 대체됩니다. 시스템이 로그인 이름을 인식하지 못하는 경우 결과는 정의되지 않습니다.
물결표 확장으로 인한 경로 이름은 필드 분할 및 경로 이름 확장으로 인해 변경되는 것을 방지하기 위해 인용된 것처럼 처리됩니다.
기본적으로 이는 ~
$HOME과 ~foo/
링크를 제공한다는 의미입니다.초기 작업 디렉토리사용자 foo. 대략적으로 foo의 홈 디렉토리를 의미하지만 항상 그런 것은 아닙니다. (내가 생각할 수 있는 유일한 예외는 루트입니다)
BaSH에서는 물결표 확장에 대한 표준을 준수하지 않습니다.몇 가지 방법, 특별히 중요한 것은 없습니다. BaSH에는 다른 재미있는 물결표 확장도 있습니다.링크댓글 작성자 @phk의 호의. 모두 모을 수 있어요!
그러나 나는 빗나갔다. ~/가 호출되는 것에 대해 이야기하고 있다면 경로 자체(형식)에 대한 용어를 참조하고 있는지 아니면 해당 경로를 만드는 데 ~/x/y/z
사용하는 현상 (예: 예술 작품 대 예술 )에 대한 용어를 참조하고 있는지 잘 모르겠습니다. ~/
, 미분 대 미분). 왜냐면 ~/ paths
and는 ~/ expanded paths
전자와 후자를 가리키는 것 같 ~/ syntax
거든요 ~/ notation
. 아마 너무 복잡할 것 같지만 언어는 변덕스럽습니다. 예를 들어 ~/ paths
로 시작하는 경로의 형태를 강조하고 ~/
, 해당 형태의 경로를 생성하는 ~/ extended paths
기능을 강조합니다 .~/
어쨌든, 지금쯤이면 아마 깨달았을 겁니다.
허용되는 이름이 없습니다
그 모든 용어가 유통되고 있고 문제가 우리가 알고 있는 권력으로부터 공식적인 관심을 받지 않았기 때문입니다. 또는 다르게 말하면, 이러한 모든 용어는 경쟁 레이블이 아니라 동일한 것을 설명하는 방법입니다. 공식적인 이름은 없지만 bash를 조금 아는 사람이라면 누구나 그 의미를 즉시 인식할 것입니다. 사람들이 당신이 말하는 내용을 이해한다면, 당신이 부르는 것을 누가 신경 쓰겠습니까? 어떤 용어를 좋아하는지 스스로 결정할 수 있습니다. 개인적으로 나는 좋아한다~/ paths
, 발음을 좋아한다."물결표-슬래시 경로". 그리고 현상을 언급하자면"물결표-슬래시 경로 약어". 솔직히 말해서 이름이 필요 없을 것 같아요...