$PATH에 나열된 모든 디렉토리를 표시하는 방법

$PATH에 나열된 모든 디렉토리를 표시하는 방법

에 나열된 모든 디렉토리를 표시하는 방법은 무엇입니까 $PATH?

답변1

printf '%s' "$PATH" | tr ':' '\n'

tr명령을 사용하는 이유는힌트내부에질문의 원래 버전그것을 사용하는 것이 좋습니다.

답변2

가정(또한 bash쉘 변수의 값을 사용하거나 표시하는 방법을 알고 있다고 가정)echoprintf

printf "${PATH//:/\\n}"

이는 쉘 내의 매개변수 확장을 활용합니다. 확장 자체는 ${parameter/pattern/string}매개변수 PATH, /:패턴 및 \\n(대체) 문자열입니다. 패턴의 선행 지시문은 /모든 inside 항목을 대체해야 합니다.:PATH

답변3

내용을 나열하려는 경우 POSIX 셸에서 다음을 수행할 수 있습니다.

(IFS=:; set -o noglob; ls -Hl -- $PATH)

$PATH(현재 디렉터리에 대해) 빈 구성 요소가 없다고 가정합니다 .

쉘을 사용하면 fish다음과 같습니다.

ls -Hl -- $PATH

( 환경 변수를 빈 구성 요소가 다음으로 변경된 쉘 배열 변수로 fish변환합니다 .)PATH.

그리고 (t)csh:

ls -Hl -- $path:q

( $PATH매핑된$path거기의 배열 로 변환하고 빈 문자열을 .)로 변환합니다.

in zsh에서도 $PATH배열로 매핑되지만 빈 구성 요소는 변경되지 않으므로 다음과 같은 것이 필요합니다.$path.

ls -Hl -- "${path[@]/#%/.}"

수동으로 변환하세요.

원하는 것이 해당 디렉토리의 내용을 나열하는 대신 한 줄에 이러한 경로를 출력하는 ls -Hl --것이라면 printf '%s\n'.

답변4

여기있어:

echo $PATH | sed 's/:/\n/g'

편집 : 내용을 표시하려면

ls `echo $PATH | sed 's/:/\n/g'`

관련 정보