리눅스 경로상의 공백

sada0220의 이미지

리눅스에서 특정경로를 다음과 같이 경로(경로상에 공백이 있음)를 정의할 때,

HOME := /home/1. Source

이렇게 정의하고 수행시키면

No such file or directory 에러가 나는데요. 어떻게 처리해 주어야 하나요~~?

제가 시도해본 방법은..

1. HOME := /home/1.\ Source : 백스페이스 문자로 공백을 escape 시킨다.

2. HOME := "/home/1. Source" : 더블쿼트로 묶어준다.

두 방법 다 별 효과를 보지 못했습니당..

송효진의 이미지

bash 처럼 사용될 때 쿼트되어야 할 것 같네요.

/home/1.\\ Source ?

emerge money
http://wiki.kldp.org/wiki.php/GentooInstallSimple - 명령어도 몇 개 안돼요~
http://xenosi.de/

sada0220의 이미지

무슨 말씀인지 이해가 안되는데, 좀 더 설명해 주실 수 있을까요?

송효진의 이미지

#!/bin/bash
HOME="/home/1. Source"
cd "${HOME}"

아래처럼도 될줄 알았더니 안되네요.

#!/bin/bash
HOME=/home/1.\\ Source
cd $HOME

emerge money
http://wiki.kldp.org/wiki.php/GentooInstallSimple - 명령어도 몇 개 안돼요~
http://xenosi.de/

bushi의 이미지

[bushi@rose main.nib]$ cat -n a.sh
     1	#!/bin/bash
     2	OLD_IFS=${IFS}
     3	
     4	H=/home/1.\ Source
     5	
     6	IFS=
     7	cd $H
     8	
     9	IFS=${OLD_IFS}
    10	cd $H
[bushi@rose main.nib]$ 
[bushi@rose main.nib]$ sh a.sh
a.sh: line 7: cd: /home/1. Source: 그런 파일이나 디렉터리가 없습니다
a.sh: line 10: cd: /home/1.: 그런 파일이나 디렉터리가 없습니다
[bushi@rose main.nib]$

OTL