Babun / Cygwin에서 Windows 경로 (백 슬래시 포함)를 Unix 형식으로 변환하는 방법


8

Windows를 사용하고 Babun (POSIX API)에서 실행되는 셸 스크립트를 작성하고 있습니다.

환경 변수 $ USERPROFILE에서 경로를 읽고 유닉스 스타일로 변환해야합니다 (\ by /, c : \를 / c /로 바꾸십시오). 나중에 스크립트에서 사용할 수 있습니다.

문제는 $ USERPROFILE의 내용을 에코 할 때마다 백 슬래시가 이스케이프 문자로 해석되어 예기치 않은 결과를 얻습니다 (문자는 "임의로"\ n, \ f 등의 특수 문자로 바뀝니다). 예를 들어 sed로 에코 할 수 없습니다.

답변:


11

Cygwin은 cygpathUnix 및 Windows 형식 경로를 변환하는 데 매우 유용한 유틸리티를 제공합니다 . 로부터 Cygwin에서 사용 설명서

cygpath프로그램은 Windows 기본 파일 이름을 Cygwin POSIX 스타일 경로 이름으로 변환하거나 그 반대로 변환하는 유틸리티입니다. Cygwin 프로그램이 파일 이름을 기본 Windows 프로그램으로 전달해야하거나 기본 Windows 프로그램에서 파일 이름을 가져 오려고 할 때 사용할 수 있습니다. 또는 cygpath중요한 시스템 디렉토리의 위치에 대한 정보를 두 형식으로 출력 할 수 있습니다.

예를 들어 Windows 경로의 Unix 형식을 인쇄하기 위해 Windows 또는 DOS 스타일 형식 경로로 변환 할 수 있습니다.

$ cygpath -u "$USERPROFILE"
/cygdrive/c/Users/anthony

자세한 내용과 기본 사용법 정보 는 Cygwin 사용 설명서를 참조cygpath --help 하십시오.

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