여기이름이 .인 파일을 찾았습니다 ..:;
. 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
이스케이프 구분 기호를 제공하지 않습니다.