다음 내용이 왜 틀린가요?
$ cd "~/my data"
bash: cd: ~/my data: No such file or directory
$ cd ~"/my data"
bash: cd: ~/my data: No such file or directory
$ cd ~/"my data" # works
답변1
배쉬는 어때?물결표 확장일하다:
단어가 따옴표가 없는 물결표 문자('~')로 시작하는 경우 따옴표가 없는 첫 번째 슬래시까지의 모든 문자(또는 따옴표가 없는 슬래시가 없는 경우 모든 문자)에는 물결표가 접두사로 붙은 것으로 간주됩니다.
귀하의 홈 디렉토리가 이고 /home/user
현재 위치에 있다고 가정하면,첫 번째예:
cd "~/my data"
cd
그러면 path 가 있는 디렉토리에 들어가려고 시도합니다 /home/user/~/my data/
. 이는 ~
디렉터리 또는 파일 이름의 유효한 문자입니다.
이것두번째예:
cd ~"/my data"
이것은 첫 번째 것과 동일한 작업을 수행합니다. 궁금하신 분들은 위 인용문에 명시된 것처럼 슬래시가 인용되어 있기 때문입니다.
이것제삼예:
cd ~/"my data"
$HOME
슬래시가 인용되지 않고 환경 변수의 내용으로 대체되기 때문에 물결표 확장이 수행됩니다 . 그러면 디렉토리가 변경됩니다 /home/user/my data/
.