PATH에 콜론(":")이 포함된 디렉터리를 어떻게 추가합니까?

PATH에 콜론(":")이 포함된 디렉터리를 어떻게 추가합니까?

여기이름이 .인 파일을 찾았습니다 ..:;. mkdir '..:;'훌륭하게 작동합니다. 그러나 PATH에서는 디렉토리 이름이 PATH에 지정됩니다 :. 이 디렉토리를 PATH에 추가하는 방법은 무엇입니까?

답변1

:POSIX 표준에서는 이름에 포함된 디렉터리를 변수 값에 사용할 수 없다고 명시적으로 언급하고 있습니다 .PATH

PATH"환경 변수" 섹션에서 환경 변수에 대한 항목을 참조하세요 .기타 환경 변수:

이 컨텍스트에서는 구분 기호가 사용 되므로 <colon>사용할 수 있는 디렉터리 이름에는 해당 문자가 PATH포함되어서는 안 됩니다 .<colon>


zsh셸 에서 검색 경로에 디렉터리를 추가하고 path배열 변수를 수정할 수 있습니다(예:묶다 PATH):

path+=( '/some/path/..:;' )

또는 마지막 대신 먼저 항목을 추가하십시오.

path=( '/some/path/..:;' $path )

PATH그러나 이 작업을 수행한 후 배열을 통하지 않고 를 사용하여 셸의 검색 경로를 수정하면 에 항목이 path생성됩니다 . 또한 수정된 경로가 셸에서는 작동할 수 있지만 다른 셸이나 해당 셸에서는 작동하지 않을 수 있습니다. 응용 프로그램이 예상대로 작동합니다...:;:zsh

답변2

~에 따르면StackOverflow에 대한 답변입니다.$PATH, 이는 쉘이 해석하지 않기 때문에 불가능 하지만 execvp이스케이프 구분 기호를 제공하지 않습니다.

관련 정보