이름에 공백이 포함 된 디렉토리로 cd하는 방법?


43

Mac OS X에서 내 데스크탑에 "Reader 0.5"라는 디렉토리가 있습니다. 터미널에서 디렉토리에 액세스 할 때 다음 코드를 사용하고 있습니다.

cd /Users/niho/Desktop/Reader 0.5

하지만 그것은 던졌습니다 :

그러한 파일 또는 디렉토리 없음

오류.

어떻게 그 디렉토리에 cd 할 수 있습니까?

감사.

macos  bash  shell 

답변:


59

둘 중 하나를 따옴표로 묶어서 디렉토리 이름 ( cd "/Users/niho/Desktop/Reader 0.5" ) 또는 디렉토리 이름을 이스케이프합니다 ( /Users/niho/Desktop/Reader\ 0.5 ).


5
완전성을 위해서, 인수의 일부만 인용 할 수도 있습니다. cd /Users/niho/Desktop/"Reader 0.5" 또는 cd /Users/niho/Desktop/Reader" "0.5
user123444555621

3
마지막 하나 (중첩 인용 부호)는 나에게 새 것이 었습니다. 고맙습니다!
joschi

이제 : inix 공백이있는 경로를 env var에 어떻게 두는가? % cd $foo ?
Bogatyr

8

공간을 벗어날 수 있습니다.

cd /Users/niho/Desktop/Reader\ 0.5

4

다른 사람들이 언급했듯이 경로를 인용하거나 역 슬래시로 이스케이프 문자를 입력하면 작동합니다.

또한 Mac OS X의 기본 쉘인 bash는 Tab 키를 사용하여 명령 줄 완성을 지원합니다. 그래서 예. 다음을 입력하면 :

cd /Users/niho/Desktop/Re

그런 다음 Tab 키를 누르면 셸이 폴더 이름의 나머지 부분을 채 웁니다 ( "Re"로 시작하는 바탕 화면에 다른 폴더가없는 한). 공백이 있으면 cd에 인수를 인용합니다. 디렉토리 이름에 채워집니다.


4

Fyi는 bash 단축키의 Tab을 사용하면 여러 개의 디렉토리가 동일한 이름을 가진 경우 첫 번째 공간에서 중단됩니다. 이 경우 사용자는 다음을 사용해야합니다.

cd Adobe\ Creative\ Cloud/

또는 내가 선호하는 것,

cd 'Adobe Creative Cloud'

bash와 zsh 둘 다에서, 인용문은 나를 위해 작동하지 않습니다 :```bash 2 = & gt; cd '~ / Library /'bash : cd : ~ / Library / : 해당 파일이나 디렉토리가 없습니다. 3 = & gt; cd ~ / Library / 4 = & gt; pwd / Users / pguruprasad / 라이브러리```
Prasanth

-1

특정 디렉토리에 대한 cd 명령을 더 자주 사용하려면보다 편한 방법이 있습니다. 매번 디렉토리 이름을 쓰지 않아도됩니다.

.bashrc 또는 .profile에 다음을 삽입하십시오.

# activate cdable_vars
shopt -s cdable_vars

# define shortcut for your directory, here DIR
export DIR="/Users/<username>/path/to/your/dir"

스크립트를 한 번 실행하십시오. . .bashrc

다음과 같이 디렉토리에 cd 할 수 있습니다 :

cd DIR

경로에 공백이 포함되어 있어도 작동합니다.

그러나 쉘 스크립팅에서는 다음과 같이 변수를 인용해야합니다.

cd "$DIR"
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.