
일부 애플리케이션에서는 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_helper
PATH
다음은 사용자별로 수정하는 방법을 보여줍니다 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
.
명명 규칙에 따라 파일을 생성합니다: Priority-appname(예: '20200418-vscode', 저는 우선 순위를 고유하게 만들기 위해 날짜를 사용합니다.) 그런 다음 추가하려는 경로를 저장합니다
PATH
.해당 파일을 으로 이동하세요
/etc/paths.d/
.
공지1:.NET의 변경 사항을 보려면 새 터미널 세션을 생성해야 합니다 echo $PATH
.
주의사항2: 이 방법만 해당첨부하다.PATH