This way.
<! - 언어: > 내주었다.
export PATH=~/opt/bin:$PATH
또는 이?
export PATH=$PATH:~/opt/bin
PATH=$PATH:~/opt/bin
또는
PATH=~/opt/bin:$PATH
/ bin / opt 추가할 여부에 따라 '~' 의 끝 (검색할 후 다른 모든 디렉터리용 프로그램이 있을 경우, 같은 이름의 여러 디렉터리용) 또는 dell. 시작 (검색할 전에 다른 모든 디렉터리용).
동시에 여러 항목을 추가할 수 있습니다. '패스 ~ / / bin / opt: ~ $ PATH: = / bin / 노드입니다 opt 에 변형을 오더할 작동합니까' 또는 그냥 그랬다고. # 39 don& ',' t put it 수출 시작 부분에 추가된 선으로 합병증요 (아래 참조 "에 대한 참고 사항 이외의 배시 셸을").
'길' 이 제작한 끝날 경우 다양한 구성 요소, 중복되는 항목이 얻을 수 있습니다. 중복을 피하기 위해 추가 및 https://unix.stackexchange.com/questions/40749/remove-duplicate-path-entries-with-awk-command 참조 (https://unix.stackexchange.com/questions/25605/how-to-add-home-directory-path-to-be-discovered-by-unix-which-command) 또는 제거합니다.
일부 배포판을 동일팔레트에 자동으로 해당 경로에 있는 경우, '~ / bin' by the way.
'길' 또는 ',' ~ /.profile 선 동일팔레트에 수정할 수 있는 경우 '~' s what you 가봤다네 /.bash_profile that& # 39.
참고로 /.bash_rc 모든 프로그램, '~' ~ '에서 읽지 않습니다' 는 대화식 인스턴스를 /.bashrc 설정파일에서 내주었다. '~' 에서 환경 변수를 정의하십시오 /.bashrc 안 됩니다. '길' 은 '~ /.profile 등 환경 변수를 정의할 수 있는 최적의 장소' (또는 '~' t care about 아닌 경우, 배시 셸을 /.bash_profile don& # 39). 참조 [What& # 39 의 차이, 그들 사이에 어느쪽이야 사용해야 하나?] (https://superuser.com/questions/183870/difference-between-bashrc-and-bash-profile/183980 # 183980)
'T put it in don& # 39, / etc / 환경' 또는 '~ /.pam_environment': 이러한 않습니다를 쉘로 사용하여 파일의 경우, t like '길' 에서 $ # 39 can& 대체 할 수 있다. 이 파일의 경우 재지정하지 수만 없는 변수를 추가합니다.
로그인 시 시간, 신뢰할 수 있는 '길' 에 포함된 시스템 환경, 이미 디렉터리용 이미 일부 있다. 동시에 실행할 수 있는 경우, re 먹어서나 스크립트입니다 you& # 39 초 함정이거나 확인하기 위해 가상 환경 설정 할 수 있습니다 '길' 은 비어 있지 않은 및 내보내집니다. 여전히 뭔가 해제할 경우 '길' 'like' 세트 '길' 을 관심용 삼중평균 = $ PATH:/some/directory 아니하였으매 :/some/directory '및' 빈 컴포넌트인지 처음부터 는 현재 디렉터리 (like '.:/some/directory').
11 057 {{{000}}}
Bash, ksh, '특수' 는 구문 및 경로 및 츠시 익스포트합니다 모두 '와' 길 '= ~ = ~ / opt / bin / bin / opt: $. $ 삼중평균 익스포트합니다 못하며창조된 길' 올바른 일을 할 수 있다. 본 셸 등 다른 / posix 스타일 대시이며 (원하는거요 '/ bin / sh' 에 많은 시스템), '2' 는 명령을 알 수 있는 평범한 변경분 익스포트합니다 이와 같이 분석한다:
따라서, 포탄, 경로 = / bin / opt strike> 같은 대시입니다 <: $ 길 ',' 익스포트를 ~ < /strike>; 세트 '길' '~' 뒤에 '길' 을 ipv6-literal. 문자열이어야 /opt/bin/: 값은 최대 최초의 우주. 경로 = / bin / opt: $ ~ '길' (a 베어 할당에서는) [doesn& # 39, t 필요한 인용] (https://unix.stackexchange.com/questions/68694/when-is-double-quoting-necessary/68748 # 68748) 와 높여줍니까 올바른 일을. '노트북' 을 사용하려면 익스포트합니다 ", 경로 = $ HOME / opt 익스포트합니다 스크립트입니다 작성해야 합니다 ',' 또는 '= / bin / bin / opt PATH": $. $ 경로, 패스 ~ 익스포트를 길 ' (또는' 경로 = $ HOME / bin / opt: $ 경로, 익스포트를 길 '의 포터블식 해도 본 쉘로 못하였느뇨 didn& # 39, t 동의하십시오 익스포트를 var = value' 와 't do 물결표 didn& # 39, 확장).
& # 185. < sub>; # 39 의 진정한 이 wasn&, t 본 셸 (같이 현대 posix 스타일 포탄 아닌 실제 bourne shell) 이지만, re you& # 39 발견하게 된 요즘 포탄 등 매우 낮다. < /sub>;
그러나 그들은 어느 쪽이든 작동됨 don& # 39, 같은 일을 할 수 없다. '길' 요소를 점검됩니다 왼쪽에서 오른쪽으로. '~' 의 첫 번째 사례, 실행 파일 / bin / opt in your 우선합니다 설치했거나, 예를 들어, 그 할 수 있는 ',' / usr / bin 그리웠댔지 수도 있고 아닐 수도 있습니다.
특히 안전 관점, 한 것은 위험하다고 전면판 패스 추가 / bin / opt 데이터베이스에구성원을 쓰기 권한을 얻을 수 있기 때문에 누군가 '~', 예를 들어, 거기서 그들은 다른 배치할 수 있는 'ls' 다음 '잘' / bin/ls 없이 you&; d # 39 대신 사용할 것이다. 이제 '이매진' 또는 '에 대해서도 같은 ssh 또는 브라우저를 선택할 수 있습니다. (동일한 삼중 댁이라면 위해 심혈을 기울이고 있다. 해당 경로에.)
>. # 39 의 작업 가능한 방법은 서로 다른 많은 경로를 덮어쓰기/추가 what& 흐름선? >. 처음에 이 할 수 있는 생각해봤죠 의심하게 된다. >. >. <! - 언어: > 랑 배시 -; >. >. 패스 ~ /opt/bin 익스포트합니다 = $ 경로: >. 패스 ~ /opt/node/bin 익스포트합니다 = $ 경로: >. >. 하지만 doesn& # 39 만 t, t # 39 때문에, 두 번째 할당에서는 doesn& 덮어쓰기/추가 >. / bin / opt / 노드입니다 '~' 전체 '길' 뿐만 아니라 이전에 배정됩니다. >. >. 이것이 가능한 해결하십시오. >. >. <! - 언어: > 랑 배시 -; >. >. 경로 = / bin / opt: ~ $ PATH 익스포트합니다 /opt/node/bin: ~ >. >. 하지만 가독성 I& 하나만 할당에서는 포지셔닝하십시오; d # 39 한 경로.
말하도다 경우
PATH=~/opt/bin
난 내 행동 양식을 모두 사용합니다. I have a 일반 프로파일을 포함하기 위해 설치한 모든 시스템에서 사용할 수 있는, 내가 이렇게 보이는 잠재적으로 누각되었습니다 디렉터리용:
export PATH=/opt/bin:/usr/local/bin:/usr/contrib/bin:/bin:/usr/bin:/usr/sbin:/usr/bin/X11
# add optional items to the path
for bindir in $HOME/local/bin $HOME/bin; do
if [ -d $bindir ]; then
PATH=$PATH:${bindir}
fi
done
관련된 다양한 추가 대對 프레펜딩 고려사항입니다 아주 많습니다. 그들 중 많은 다른 답변, 그래서 여기에 반복하십시오 굳었나이다 않습니다.
중요한 점은 이 시스템을 사용하지 않는 경우에도 스크립트 (왜 그랬을까), sup> < *1< /sup>;; 이 완벽한 패스를 추가하는 방법 (예: $ HOME / bin ',') 를 경로 환경 가변입니다
PATH="${PATH:+${PATH}:}$HOME/bin"
) 를 위한 (PATH = $. $ HOME/bin" ", 경로 대신 ',') 및
PATH="$HOME/bin${PATH:+:${PATH}}"
프레펜딩 대한 아닌 경로 = $ HOME / bin: $ PATH" ", ',')
이 때 처음 길 ',' $ / 후행 대장암 예방 가짜의 주요 원하지 않는 것, 가질 수 있는 빈 부작용은요 및 되기 때문에 대부분의 com/go/downloads_kr (이 질문에 을 다룬 '' 운행에서어떠한 경우 잠시 있다).
>. parameter:+word $ {} >. >. 그렇지 않으면 아무 것도, 또는 해제할 경우 '대신' 매개변수입니다 널임 확대 '단어' 는 나갔다.
따라서 $ $ {{}} 는 경로 ':' PATH:+ 확장됨 다음과 같이 사용된다. 1), '길', 또는 해제할 경우 아무것도아니야 널임 2) $ {}: ',' 길 '' 경로를 경우 설정되었습니다.
< hr>; < sup> *1< /sup>;;; 방금 devtoolset-6/enable 'like' 이 실제로 사용할 수 있는 스크립트
$ cat /opt/rh/devtoolset-6/enable
# General environment variables
export PATH=/opt/rh/devtoolset-6/root/usr/bin${PATH:+:${PATH}}
...
환경 변수 $ 길 '' 검색 경로를 통해 linux*용 실행가능파일 결정합니다. 추가 디렉터리입니다 / data / myscript 시작 부분에 '$ 길' 환경 변수를 사용하여, 다음과 같다.
PATH=/data/myscripts:$PATH
끝까지 디렉터리입니다 추가할 수 있는 경로를 다음 명령을 사용합니다.
PATH=$PATH:/data/myscripts
그러나 앞의 이 부족한 환경 변수를 설정하는 이유는열 δ1 스크랩트, 그 변화는 유효인 내에서만 스크립트입니다. 이 두 가지 방법으로 가지뿐입니다 수립하였습니다 제한은라이센스:
예를 들면 다음과 같다:
$HOME/myscript.sh
source $HOME/myscript.sh
기본적으로 이 " 포함인지 dsfs called"; 스크립트의 " calling"; 스크립트입니다. # 39 에서 like a, s, c # include it& 그러하매 it& # 39 의 내부를 유효인 " calling"; 스크립트입니다 또는 프로그램. 물론 it& # 39 의 비효율적임 믿지아니하며 프로그램 또는 스크립트에만 호출하는 프로그램에 의해 불렀으매. All the way down 유효인 쉽게 부를 수 있는 환경 변수 설정 함장님이요 익스포트합니다 체인 따라야 합니다
예를 들어, 배시 셸을 통해 프로그램 파일 내용을 dsfs .bash_profile 포함인지. 다음 2 개의 줄을 배치하십시오 .bash_profile:
PATH=$PATH:/data/myscripts
export PATH
이러한 2 줄의 코드를 통해 효과적으로 프로그램였어 배시 그래서 내 HOME/myscript.sh '및' $ $ PATH 가변으로 dm_ownerdm_owner bash, 이 때문에 모든 프로그램을 통해 변경된 '$ 길' 이라는 내보내기의 기술서임을, 배시 %s/dbase/ext_table. 변수다. 배시 (bash 의 모든 프로그램을 실행할 수 있기 때문에 새로운 경로는 시행에 의해 프롬프트합니다 환경은 bash, 모든 것에 대한 &solarisdvd bash 프롬프트합니다 실행할 수 있습니다.
즉, 새로운 길로 디렉터리입니다 추가 또는 prepend 디렉토리에는 덮어쓰기/추가 합니다 달러) 로 경로 내에 포함된 환경 변수를 스크립트입니다 쉘로 익스포트합니다 환경 변수 $ 길 ',' 합니다.
자세한 내용은 http://www.troubleshooters.com/linux/prepostpath.htm";;; a href = " < > here< /a>;
'프라사드' 에서는 단일 경로 인수 및 선택적 '는' 길 '' 등에 대한 추가 인수 후 있는 경우 그렇지 않은 경우에는 prepend 거잖나.
pathadd() {
newelement=${1%/}
if [ -d "$1" ] && ! echo $PATH | grep -E -q "(^|:)$newelement($|:)" ; then
if [ "$2" = "after" ] ; then
PATH="$PATH:$newelement"
else
PATH="$newelement:$PATH"
fi
fi
}
pathrm() {
PATH="$(echo $PATH | sed -e "s;\(^\|:\)${1%/}\(:\|\$\);\1\2;g" -e 's;^:\|:$;;g' -e 's;::;:;g')"
}
이러한 믿지아니하며 동일팔레트에 프로파일링하려는 스크립트입니다 변경하십시오 삼중평균 환경과및 할 수 있습니다.
pathadd "/foo/bar"
pathadd "/baz/bat" after
export PATH
pathrm "/baz/bat"
pathadd "/baz/bat"
export PATH
이제 모든 경로를 앞패널 it& # 39 로 이동할 수 있는 경우, 이미 두 않고 패스를 한다.
몇 가지 경로를 통해 해당 상황을 고려해야 할 수 있는 길 '=' / a / b: $ " incorrect"; 운행에서어떠한 경로를 추가하여 '길'.
함수 (배시 국한됨) 이 오른쪽 thing" 산아래의 "; 위의 경우 (예외가 발생하여, 아래 참조), 인쇄 오류 코드, 되돌려줍니다 좋은 메시지를 인간들말이지 # 39, re 않을 때 오류 코드 및 메시지 they& 그들이성년에 비활성화해야 수 있습니다.
prepath() {
local usage="\
Usage: prepath [-f] [-n] [-q] DIR
-f Force dir to front of path even if already in path
-n Nonexistent dirs do not return error status
-q Quiet mode"
local tofront=false errcode=1 qecho=echo
while true; do case "$1" in
-f) tofront=true; shift;;
-n) errcode=0; shift;;
-q) qecho=':'; shift;;
*) break;;
esac; done
# Bad params always produce message and error code
[[ -z $1 ]] && { echo 1>&2 "$usage"; return 1; }
[[ -d $1 ]] || { $qecho 1>&2 "$1 is not a directory."; return $errcode; }
dir="$(command cd "$1"; pwd -P)"
if [[ :$PATH: =~ :$dir: ]]; then
$tofront || { $qecho 1>&2 "$dir already in path."; return 0; }
PATH="${PATH#$dir:}" # remove if at start
PATH="${PATH%:$dir}" # remove if at end
PATH="${PATH//:$dir:/:}" # remove if in middle
fi
PATH="$dir:$PATH"
}
단 이 기능을 추가할 경우 다른 경로를 통해 고말은 도왔으매 정규화하지 않습니다 '길' 에서 '길', 이렇게 하면 정경이 아닌 한 경로가 앨리어스입니다 추가하기에서는 복제본임을. 이미 '길' 은 정규화하지 시도하는 경로를 아슬 아슬 제안 이후 명백하네 의미를 전달할 때 상대 경로를 가지고 있지만, 이미 '프레패스' t know what the # 39 는 현재 작업 디렉터리 경로 너회가 don& 때 추가되었다.
가져다줄래요 (Mac OS X 의 10.9.5), 추가 경로와 파일 이름 (예, '/ 마이파스나미') 를 '/ etc / 패스이므로' 협력했습니다 잘 았겠습니다.
편집 전, '길' 에코 되돌려줍니다: $
/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin
달러 / etc / 패스이므로 '와' 편집한 후 재시작하기 셸, 경로 가변으로 덧붙여집니다 '/ 경로명입니다'. 그러나 '길' 에코 되돌려줍니다: $
/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/mypathname
무슨 일이유 에로남이네 '/' 길 '' $ 가변적입니다 덧붙여집니다 마이파스나미 왔다.
새로운 경로를 '길' 환경 변수를 추가합니다.
export PATH=$PATH:/new-path/
이 변경에 대한 적용할 수 있는 소스 파일을 열 때 모든 쉘로 추가할 경우 쉘社는 , 호출되었을. 다른 포탄 수 있습니다.
예:
# export PATH=$PATH:/root/learning/bin/
# source ~/.bashrc
# echo $PATH
위의 출력입니다 제공된 경로를 볼 수 있습니다.