zsh를 사용 /home/david/pear/bin
하고 있으며 PATH
변수에 새 항목 ( )을 추가하려고 하지만 방법을 모르겠습니다.
나를 가장 혼란스럽게하는 것은 PATH
내 ~/.zshrc
파일에 변수에 대한 단일 참조가 없지만 echo $PATH
반환을 수행한다는 것입니다 .
/usr/lib/lightdm/lightdm:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
그래서 PATH
변수가 어딘가에 설정되고 있습니다.
답변
여기 에이 줄을 추가하십시오 .zshrc
:
export PATH=/home/david/pear/bin:$PATH
편집 : 이것은 작동하지만 ZSH 가와 같은 변수를 제공하는 구조적 인터페이스를 활용하기 때문에 아래 의 ony의 대답 이 더 좋습니다 $PATH
. 이 접근법은 표준 bash
이지만, 아는 한 ZSH가 더 나은 대안을 제공 할 때 사용할 이유가 없습니다.
답변
실제로 ZSH를 사용하면 환경 변수의 특수 매핑을 사용할 수 있습니다. 그래서 당신은 간단하게 할 수 있습니다 :
# append
path+=('/home/david/pear/bin')
# or prepend
path=('/home/david/pear/bin' $path)
# export to sub-processes (make it inherited by child processes)
export PATH
저에게는 다른 변수로 전파 될 수있는 매우 깔끔한 기능입니다. 예:
typeset -T LD_LIBRARY_PATH ld_library_path :
답변
PATH
최소한의 방식으로 추가 할 수 있습니다 . 요소를 두 개 이상 추가하지 않으면 괄호가 필요하지 않습니다. 또한 일반적으로 따옴표가 필요하지 않습니다. 따라서 간단하고 짧은 추가 방법 은 다음과 같습니다.
path+=/some/new/bin/dir
일반적인 사용법
그런 다음 새 스크립트 / 실행 파일을 테스트하기위한 공통 패턴은 다음과 같습니다.
path+=$PWD/.
# or
path+=$PWD/bin
이 소문자 구문은 배열path
로 사용 되지만 대문자 파트너에 영향을 미칩니다 (이를 통해 “바운드” ).PATH
typeset
( 세퍼레이터로 필요하거나 원하지 않음에 유의하십시오:
.)
관련 음식
path
이 방법을 (배열로) 처리 하면 새로 경로 지정된 명령을 찾기 위해 수행 할 필요가 없습니다
rehash
.
또한 vared path
동적으로 편집path
하고 다른 것들을 살펴보십시오 .
path
이 질문 에만 관심이있을 수 있지만 내보내기 및 배열에 대해 이야기하고 있으므로
일반적으로 배열을 내보낼 수 없습니다.
중복 된 항목을 가져 가지 못하게PATH
할 수도 있습니다
( this
및 this 참조
).
typeset -U path
답변
~/.zshrc
파일 을 열지 않고 하나의 라이너
echo -n 'export PATH=~/bin:$PATH' >> ~/.zshrc
또는
echo -n 'export PATH=$HOME/bin:$PATH' >> ~/.zshrc
효과를 보려면 source ~/.zshrc
동일한 탭에서 수행하거나 새 탭을여십시오.
답변
-
~ / .zshrc에 경로 추가
sudo vi ~/.zshrc
새로운 길 추가
export PATH="$PATH:[NEW_DIRECTORY]/bin"
-
~ / .zshrc 업데이트
~ / .zshrc 저장
source ~/.zshrc
-
PATH 확인
echo $PATH
답변
옵션 1 : ~ / .zshrc에 다음 행을 추가하십시오.
export "PATH=$HOME/pear/bin:$PATH"
그런 source ~/.zshrc
다음 변경 사항을 적용하거나이 창을 닫고 새 창을 열려면 실행해야합니다.
옵션 2 : 터미널 콘솔 내에서 실행하여이 경로를 현재 터미널 창 세션에만 추가하십시오. 창 / 세션을 닫으면 손실됩니다.