Catalina에서 PATH 환경 변수를 수정하는 방법은 무엇입니까?

Catalina에서 PATH 환경 변수를 수정하는 방법은 무엇입니까?

일부 애플리케이션에서는 PATH 환경 변수에 무언가를 추가하라고 지시합니다. 이를 수행하는 한 가지 방법은 에 파일을 생성하는 것이지만 변수가 저장된 ~/.zshrc파일이 어디에 있는지 알고 싶습니다 .PATH=...

내가 입력했을 때 echo $PATH나는 다음을 얻었습니다:

/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/share/dotnet:~/.dotnet/tools:/Library/Apple/usr/bin:/Library/Frameworks/Mono.framework/Versions/Current/Commands:/Applications/Xamarin Workbooks.app/Contents/SharedSupport/path-bin

/etc/paths내가 얻은 파일에서 :

/usr/local/bin
/usr/bin
/bin
/usr/sbin
/sbin

그러면 어떤 파일에 추가 경로가 추가되었나요?


댓글에 답장:

나는 다음을 얻었습니다: (사용자 이름을 로 변경했습니다 alice.)

grep: /Users/alice/.profile: No such file or directory
grep: /etc/environment: No such file or directory
grep: /etc/zsh/zprofile: No such file or directory
grep: /Users/alice/.zshrc: No such file or directory
grep: /Users/alice/.profile: No such file or directory

답변1

에서 말씀하신 대로나만의 대답PATH, 변수가 원래 채워지는 위치를 알 필요가 없습니다 .

PATH끝이나 시작 부분 에 새 경로를 쉽게 추가할 수 있으며 zsh중복 항목을 제거하는 편리한 방법도 있습니다.

먼저 다음을 사용하여 PATH변수 및 관련 배열을 고유하게 만들 수 있습니다 .path

typeset -U -g PATH path

그러면 변수는머무르다이 명령으로 인해 고유합니다.

몇 가지 경로를 앞에 추가하려면:

path=( /new/path1 /new/path2 $path )

몇 가지 경로를 추가하려면:

path=( $path /new/path1 /new/path2 )

또는,

path+=( /new/path1 /new/path2 )

그에 따라 변수 PATH값이 업데이트됩니다.

$ZDOTDIR/.zprofile로그인 셸 에서 자동으로 제공되는 파일 에서 이 작업을 수행할 수 있습니다 zsh. 해당 파일의 출처는 다음과 같으므로 파일 에서 수행하는 것은 $ZDOTDIR/.zshenv불필요합니다.어떤 유형zsh(따라서 필요한 경우 매우 짧게 유지해야 합니다. 예를 들어 저는 그냥 거기에 설정했습니다 . ZDOTDIR=$HOME/.zsh)

이는 PATH이미 환경 변수이므로 다시 내보내는 것은 아무 소용이 없습니다.

답변2

파일은 기본값을 설정하는 데 /etc/zprofile사용되며 해당 소스 코드가 없습니다./usr/libexec/path_helperPATH

다음은 사용자별로 수정하는 방법을 보여줍니다 PATH.

~/.zprofile다음 콘텐츠를 생성/편집 하고 추가합니다.

# append to PATH
export PATH="$PATH:.../to/target/bin"

# prepend to PATH
export PATH=".../to/target/bin:$PATH"

# remove duplicate in PATH
typeset -U PATH

답변3

다음 단계에서는 시스템별로 수정하는 방법을 보여줍니다 PATH.

  1. 명명 규칙에 따라 파일을 생성합니다: Priority-appname(예: '20200418-vscode', 저는 우선 순위를 고유하게 만들기 위해 날짜를 사용합니다.) 그런 다음 추가하려는 경로를 저장합니다 PATH.

  2. 해당 파일을 으로 이동하세요 /etc/paths.d/.

공지1:.NET의 변경 사항을 보려면 새 터미널 세션을 생성해야 합니다 echo $PATH.

주의사항2: 이 방법만 해당첨부하다.PATH

관련 정보