2010-08-15 5 views
35

저는 웹 응용 프로그램 개발 담당자입니다. 파일을 열고 읽는 함수가 있습니다. 불행하게도 테스트 서버와 프로덕션 서버 간의 디렉토리 구조는 다릅니다. 나는 "~에 상대적인 경로를 사용하라"는 말을 들었다. 나는 '~'에 어떤 자원도 찾을 수 없었습니다!경로 컨텍스트에서 '~'(물결표)를 어떻게 사용합니까?

경로의 문맥에서 물결표 문자는 어떻게 사용합니까?

편집 : 이것은 Python으로 작성되었습니다. os.path.expanduser()를 사용하여 문제를 해결했습니다.

+2

현재 사용중인 웹 개발 플랫폼 종류를 지정하십시오. ASP.NET입니까? 울타리? 파이썬? –

+0

나는 당신이 ** 웹 응용 프로그램 개발 **을 ** 수행하고있는 것에 따라 완벽하게 맞지만 완전히 다른 두 가지 대답을 생각할 수 있습니다. 사실, 지금까지 완전히 다른 대답이 제시되었지만, 어느 것이 옳은 것인지 또는 그것이 제 3의 것이 아닌지 아무도 확신 할 수 없습니다. 사용 된 기술을 포함하도록 질문을 편집하십시오. –

+0

당신이'$ HOME'을 가리키는 샘플 코드 – Mawg

답변

33

이것은 보통 인 UNIX의 $HOME var입니다.

는 "당신의 집"cd ~/MyDocuments/과 같은 명령을 실행있어 사용자의 홈을 의미한다, cd /home/user_executing_cd_commnd/MyDocuments

당신이 쉘 스크립트를 작성하거나 ~에 대한 $HOME의 값을 대체하기 위해 알고있는 다른 언어를 사용하지 않는
+1

'~'을 게시했다면 문제가 해결되었을 것입니다. 어떤 디렉토리 (즉,/home/username) 일 필요는 없습니다. –

+0

이 (가) 편집되었습니다. 그 점을 지적 해 주셔서 감사합니다. – dierre

14

입니다 파일 경로의 물결표는 특별한 의미가 없으며 다른 비 특수 문자로 취급됩니다.

쉘 스크립트를 작성하는 경우 셸은 인수에서 첫 번째 문자로 발생하지 않는 한 틸드를 해석하지 않습니다. 즉, ~/file/path/to/users/home/directory/file이되지만 ./~/file은 문자 그대로 해석됩니다 (즉, .의 하위 디렉토리에 file이라는 파일이 ~이라고합니다).

URL에 사용되는 틸드를 사용자 홈 디렉토리의 약자로 해석하면 (예 : http://www.foo.org/~bob) 유닉스에서 빌린 규칙입니다. 구현은 전적으로 서버마다 다르므로 특별한 의미가 있는지 웹 서버의 설명서를 확인해야합니다.

관련 문제