수색…


통사론

  • 경로 추가 : PATH = $ PATH : / new / path
  • 경로 추가 : PATH = / new / path : $ PATH

매개 변수

매개 변수 세부
통로 경로 환경 변수

비고

Bash 구성 파일 :

이 파일은 새로운 대화식 Bash 쉘이 시작될 때마다 제공됩니다.

GNU / Linux 시스템에서는 일반적으로 ~ / .bashrc 파일입니다. Mac에서는 ~ / .bash_profile 또는 ~ / .profile입니다.

수출:

PATH 변수는 한 번만 내 보내야합니다 (기본적으로 완료됩니다). 일단 내보내지면 내보내지며 변경 사항은 즉시 적용됩니다.

변경 승인:

Bash 구성 파일에 변경 사항을 적용하려면 해당 파일을 터미널 ( source /path/to/bash_config_file )에서 다시로드해야합니다.

PATH 환경 변수에 경로 추가

PATH 환경 변수는 일반적으로 ~ / .bashrc 또는 ~ / .bash_profile 또는 / etc / profile 또는 ~ / .profile 또는 /etc/bash.bashrc (배포판 고유의 Bash 구성 파일)에 정의됩니다.

$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/usr/lib/jvm/jdk1.8.0_92/bin:/usr/lib/jvm/jdk1.8.0_92/db/bin:/usr/lib/jvm/jdk1.8.0_92/jre/bin

이제 경로 (예 : ~/bin )를 PATH 변수에 추가하려면 다음을 수행하십시오.

PATH=~/bin:$PATH
# or
PATH=$PATH:~/bin

그러나 이것은 현재 쉘 (및 서브 쉘)에서만 PATH를 수정합니다. 일단 쉘을 종료하면이 수정은 사라질 것입니다.

영구적으로 만들려면 ~ / .bashrc (또는 무엇이든) 파일에 해당 비트를 추가하고 파일을 다시로드해야합니다.

터미널에서 다음 코드를 실행하면 ~/bin 이 PATH에 영구적으로 추가됩니다.

echo 'PATH=~/bin:$PATH' >> ~/.bashrc && source ~/.bashrc

설명:

  • echo 'PATH=~/bin:$PATH' >> ~/.bashrc 는 ~ / .bashrc 파일의 끝에 PATH=~/bin:$PATH 행을 추가합니다 (텍스트 편집기로 할 수 있습니다)
  • source ~/.bashrc 는 ~ / .bashrc 파일을 다시로드합니다.

이것은 경로가 이미 포함되어 있는지 확인하고 그렇지 않은 경우에만 경로를 추가하는 코드입니다 (터미널에서 실행).
path=~/bin            # path to be included
bashrc=~/.bashrc      # bash file to be written and reloaded
# run the following code unmodified
echo $PATH | grep -q "\(^\|:\)$path\(:\|/\{0,1\}$\)" || echo "PATH=\$PATH:$path" >> "$bashrc"; source "$bashrc"

PATH 환경 변수에서 경로 제거

PATH 환경 변수에서 PATH를 제거하려면 ~ / .bashrc 또는 ~ / .bash_profile 또는 / etc / profile 또는 ~ / .profile 또는 /etc/bash.bashrc (distro specific) 파일을 편집하고에 대한 할당을 제거해야합니다. 그 특별한 길.

정확한 할당을 찾는 대신 최종 단계의 $PATH 에서 대체 할 수 있습니다.

다음은 $PATH 에서 $PATH $path 를 안전하게 제거합니다 :

path=~/bin
PATH="$(echo "$PATH" |sed -e "s#\(^\|:\)$(echo "$path" |sed -e 's/[^^]/[&]/g' -e 's/\^/\\^/g')\(:\|/\{0,1\}$\)#\1\2#" -e 's#:\+#:#g' -e 's#^:\|:$##g')"

영구적으로 만들려면 bash 설정 파일의 끝에 추가해야합니다.


다음과 같이 기능적으로 할 수 있습니다.
rpath(){
    for path in "$@";do
        PATH="$(echo "$PATH" |sed -e "s#\(^\|:\)$(echo "$path" |sed -e 's/[^^]/[&]/g' -e 's/\^/\\^/g')\(:\|/\{0,1\}$\)#\1\2#" -e 's#:\+#:#g' -e 's#^:\|:$##g')"
    done
    echo "$PATH"
}

PATH="$(rpath ~/bin /usr/local/sbin /usr/local/bin)"
PATH="$(rpath /usr/games)"
# etc ...

이렇게하면 여러 경로를 더 쉽게 처리 할 수 ​​있습니다.

노트:

  • 이 코드를 Bash 구성 파일 (~ / .bashrc 또는 기타)에 추가해야합니다.
  • source ~/.bashrc 를 실행하여 Bash 구성 (~ / .bashrc) 파일을 다시로드하십시오.


Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow