6 월 3 일에 다음 코멘트를 게시했습니다.
@DavidAnderson 따라서 올바르게 이해하면 대화 형 셸 세션에서 export PATH ...를 실행하면 해당 세션의 $ PATH에만 영향을 미치고 새로 추가 된 경로는 어디에도 저장되지 않으므로 새로 추가 된 경로를 편집 할 수있는 파일이 없습니다 ). 예를 들어 export PATH = / test : $ PATH를 실행하지만 대신 / testing_123 디렉토리를 내보내려는 경우 가장 좋은 방법은 잘못된 / test 디렉토리가 포함 된 파일을 찾아서 편집하지 않고 새 세션을 시작하는 것입니다. (그러한 파일이 없기 때문에). 옳은?
귀하의 의견에 대한 나의 답변
bash 매뉴얼 페이지에서 다음을 추출했습니다.
A parameter is an entity that stores values. It can be a name, a
number, or one of the special characters listed below under Special
Parameters. A variable is a parameter denoted by a name. A variable
has a value and zero or more attributes.
PATH
변수의 이름입니다. 일반적으로이 변수에는 내보내기 속성 만 설정되어 있습니다. export 속성은 환경을 통해 후속 명령으로 내보낼 변수를 표시합니다. 이 export
명령은 내보내기 속성을 설정하지만 PATH
변수 의 경우 내보내기 속성이 이미 설정되어 있습니다. 따라서 PATH
변수의 경우 다음 네 명령이 동일합니다.
PATH=/test:$PATH
export PATH=/test:$PATH
declare PATH=/test:$PATH
typeset PATH=/test:$PATH
귀하의 의견은 정확합니다. 그러한 파일이 없습니다.
언급 한 유형이 실수 인 경우 새 세션을 시작하는 것이 가장 좋은 방법이라고 생각하지 않습니다. 나는 명령을 입력합니다
declare -p PATH
그런 다음 출력을 강조 표시하십시오. 그런 다음 다음 명령으로 텍스트를 잘라 붙여 넣을 수 있습니다. 리턴 키를 누르기 전에 다른 키를 사용하여 실수를 정정하십시오.
이 주제에 대한 자세한 내용은 bash 매뉴얼 페이지를 참조하십시오. 명령을 입력하십시오
man bash
또는 bash-GNU Bourne-Again SHell 사이트를 방문하십시오 .
편집에 대한 응답으로 :
예, 재부팅 할 때 PATH 변수에서 / test가 손실된다고 가정합니다. 이것이 파일에 export
명령 을 넣어야하는 이유 ~./profile
입니다.
원래 답변 :
때 혼란 것 ~/.bashrc
, ~/.bash_profile
그리고 ~/.profile
파일을 실행합니다. 아마도 이것이 도움이 될 것입니다.
컴퓨터를 설정하는 방법은 다음과 같습니다. 나는 세 개의 파일이 있습니다 ~/.profile
, ~/.bashrc
하고 ~/.bashcm
. 이 중 하나라도 누락 된 경우 만들 수 있습니다.
터미널 응용 프로그램을 시작하거나 메뉴 표시 줄의 "쉘"에서 "새 창"을 선택하면 대화식 bash 로그인 쉘이 호출됩니다. 이 쉘은 ~/.profile
시작할 때 스크립트를 실행합니다 . 당신은 대체 할 수 있습니다 ~/.bash_profile
또는 ~/.bash_login
위해 ~./profile
원하는 경우. 로그인 쉘이 아닌 대화식 bash 쉘이 시작되면 쉘은에서 명령을 읽고 실행합니다 ~/.bashrc
. 의 목적은 ~/.bashcm
모두 실행하는 일반적인 스크립트를 제공하는 것입니다 ~/.profile
와 ~/.bashrc
.
다음은 .profile
파일 의 예입니다
echo in .profile
source ~/.bashcm
export PATH=$PATH:~/bin
echo exit .profile
echo 명령의 목적은 스크립트가 실행될 때를 설명하는 것입니다. 편한 후에는 주석을 달거나 삭제할 수 있습니다. .profile
파일은 실행 .bashcm
스크립트가 다음 PATH 변수와 출구를 수정합니다. 예제 .bashcm
파일은 아래와 같습니다.
echo in bashcm
PS1='\h:\W \u\$ '
alias home='cd ~'
echo exit .bashcm
echo 명령 이외의 .bashcm
경우 프롬프트와 별명 만 설정합니다. .bashrc
아래에 표시된 예제 파일은 단순히 .bashcm
스크립트 를 실행합니다 . 다시 echo 명령은 설명을위한 것입니다.
echo in .bashrc
source ~/.bashcm
echo exit .bashrc
터미널 응용 프로그램을 시작하고 명령을 입력하면
echo $PATH
alias
bash
echo $PATH
alias
in the window, I get the following.
Last login: Wed May 27 14:48:19 on ttys000
in .profile
in bashcm
exit .bashcm
exit .profile
Steelhead:~ davidanderson$ echo $PATH
/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Users/davidanderson/bin
Steelhead:~ davidanderson$ alias
alias home='cd ~'
Steelhead:~ davidanderson$ bash
in .bashrc
in bashcm
exit .bashcm
exit .bashrc
Steelhead:~ davidanderson$ echo $PATH
/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Users/davidanderson/bin
Steelhead:~ davidanderson$ alias
alias home='cd ~'
Steelhead:~ davidanderson$