`cd ~"/mydata"`는 성공하지만 `cd ~/"mydata"`는 실패하는 이유

`cd ~"/mydata"`는 성공하지만 `cd ~/"mydata"`는 실패하는 이유

첫 번째 명령은 실패하고 두 번째 명령은 성공하는 이유는 무엇입니까?

$ cd ~"/mydata"
bash: cd: ~/mydata: No such file or directory

$ cd ~/"mydata"

답변1

방법물결표 확장작업은 이렇습니다물결표 접두사따옴표가 없는 첫 번째 슬래시까지의 모든 문자로 구성되며 ~, 따옴표가 없는 슬래시가 없는 경우 단어 끝에 추가되는 모든 문자로 구성됩니다. 그러면 발생하는 대체는 물결표 접두사에 따라 달라지며 특수한 경우입니다. 그렇지 않으면 ~제거 ~-되고 나머지 문자는 사용자 이름으로 처리됩니다. 참조하십시오 (쉘이 Bash가 아닌 경우 쉘의 매뉴얼 페이지를 참조하십시오).~+~man bash

  • 물결표 ~"/mydata"뒤에는선두슬래시이므로 물결표 접두사는 ~/mydata; 물결표 접두사로 명명된 사용자 계정이 없으므로 /mydata대체되지 않으며 쉘은 문자 그대로 이름이 지정된 디렉터리를 찾지 ~/mydata않습니다.

  • 물결표 ~/"mydata"뒤에는 따옴표가 없는 슬래시가 따르므로 물결표가 설정된 경우 물결표는 $HOMEif 의 내용 으로 대체되고 HOME, 그렇지 않으면 사용자의 홈 디렉터리 이름으로 대체됩니다( 에서 가져옴 /etc/passwd). /home/사용자 이름 디렉토리 이름 과 같은 것입니다 /mydata.

관련 정보