/ etc / environment 및 .profile에서 PATH 변수 설정


58

PATHenvvar 를 설정하기 위해 선호되는 장소는 어디 입니까?

~/.profile또는 /etc/environment?

PATH두 장소에 모두 설정되어 있는 경우 는 어떻게됩니까? 최종 결과가 두 장소에서 설정된 두 값의 연결입니까?


물론 PATH에 대한 마지막 할당이 우선합니다. 대부분의 스크립트는 스크립트 시작시 명시 적으로 설정합니다.
AlexP

3

답변:


69

요약:

  • 컴퓨터의 모든 사용자가 아닌 현재 사용자 /your/additional/pathPATH변수에 경로 (예 :)를 추가 하려면 일반적으로 ~/.profile다음 두 예제 중 하나와 같이 끝에 경로를 넣으십시오 .

    PATH="/your/additional/path:$PATH"
    PATH="$PATH:/your/additional/path"
    

    경로 우선 순위는 왼쪽에서 오른쪽으로 내림차순이므로 첫 번째 경로의 우선 순위가 가장 높습니다. 왼쪽에 경로를 추가하면 해당 경로의 $PATH우선 순위가 가장 높으며 해당 위치의 실행 파일이 다른 모든 경로보다 우선합니다. 오른쪽에 경로를 추가하면 우선 순위가 가장 낮아지고 다른 위치의 실행 파일이 선호됩니다.

  • 모든 사용자에 대해 해당 환경 변수를 설정해야하는 경우에는, 나는 아직도 감동 권하고 싶지 않다 /etc/environment그러나 파일 이름에서 끝나는 파일 생성 .sh에를 /etc/profile.d/. /etc/profile스크립트의 모든 스크립트는 /etc/profile.d각 사용자의 개인의 글로벌 동일 ~/.profile과 초기화하는 동안 모든 쉘에 의해 정기적으로 쉘 스크립트로 실행.


자세한 세부 사항:

  • /etc/environment시스템 전체 구성 파일이므로 모든 사용자가 사용합니다. 그러나 소유하고 root있기 때문에 관리자 여야하며 sudo수정에 사용해야 합니다.

  • ~/.profile사용자 자신의 개인 쉘 초기화 스크립트 중 하나입니다. 모든 사용자는 하나를 가지며 다른 사용자에게 영향을주지 않고 파일을 편집 할 수 있습니다.

  • /etc/profile/etc/profile.d/*.sh동등한 글로벌 초기화 스크립트입니다 ~/.profile각 사용자는. 전역 스크립트는 사용자 별 스크립트보다 먼저 실행됩니다. 메인 /etc/profile은 모든 *.sh스크립트를 /etc/profile.d/종료하기 직전에 실행합니다 .


  • /etc/environment파일은 일반적으로 전용이 줄을 포함 :

    PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"
    

    그것은 설정 PATH의 주요 방법으로 변경할 수 없습니다이 기본값으로 시스템의 모든 사용자에 대한 변수를. 적어도 당신은 같은 중요한 경로의 제거 안 /bin, /sbin, /usr/bin그리고 /usr/sbin그것에서합니다.

    이 파일은 모든 사용자의 모든 쉘에서 첫 번째 구성 파일 중 하나로 읽습니다. 쉘 스크립트아닙니다 . 그것은 어떻게 든 구문 분석되고 환경 변수 할당 만 포함 할 수있는 구성 파일입니다!

  • ~/.profile파일이 있는지 여부는 다른 것들 사이에 수표를 포함 기본적으로 많은 것을 포함 할 수있는 ~/bin디렉토리가 존재하고 사용자의 기존 해당 추가 PATH(우분투 16.04 이전에 출시 나이에 - 새로운 출시 무조건 추가)과 같이 변수 :

    # set PATH so it includes user's private bin if it exists
    if [ -d "$HOME/bin" ] ; then
        PATH="$HOME/bin:$PATH"
    fi
    

    이전 값이 PATH여기에서 재사용되고 새 경로는 모든 것을 덮어 쓰는 대신 처음에 추가됩니다. 새 경로를 수동으로 추가하려는 경우 항상 $PATH새 문자열의 어딘가에 이전 값을 유지해야 합니다.

    이 초기화 스크립트는 자신이 속한 사용자의 쉘에서만 읽지 만 다른 조건이 있습니다.

    # ~/.profile: executed by the command interpreter for login shells.
    # This file is not read by bash(1), if ~/.bash_profile or ~/.bash_login
    # exists.
    

    기본 bash 쉘을 사용하는 경우 따라서, 당신은 당신이없는 것을 확인해야한다 ~/.bash_profile또는 ~/.bash_login당신이 변화를 원하는 경우에 ~/.profile사용자에 대한 영향을 미칠 수 있습니다.


환경 변수에 대한 자세한 내용은 https://help.ubuntu.com/community/EnvironmentVariables를 참조하십시오.


관련 질문 : bash.bashrc와 / etc / environment 파일의 차이점


2
요즘 ~/.profile의 존재를 확인하지 않습니다 ~/bin, 그러나 그것은 단순히 라인을 가지고 :PATH="$HOME/bin:$HOME/.local/bin:$PATH"
군나르 할말 슨

1
@GunnarHjalmarsson "현재"를 정의하십시오. 16.04를 실행 중이며 그 모양입니다.
바이트 커맨더

2
/etc/skel/.profile16.04에는 내가 언급 한 줄이 있습니다. 이전 릴리스에서 사용자를 만든 것 같습니다.
Gunnar Hjalmarsson 2016

1
@GunnarHjalmarsson 정보에 감사드립니다- 약 5 분 전까지도 기본값에는 ~/.profile여전히이 기능이 있다고 생각 했지만 /etc/skel/.profile업그레이드 된 16.04 시스템 (및 16.04를 설치할 때 생성 된 사용자 계정)에는 없습니다 다른 컴퓨터에는 해당 컴퓨터가 없습니다 .profile).
Eliah Kagan

2
"... 초기화 중에 모든 쉘에서 일반 쉘 스크립트로 실행되었습니다." 나는 이것이 오도라고 생각합니다. GUI 데스크탑에서 비 로그인 터미널 쉘을 열면 / etc / profile이 실행되지만 그렇지 않을 것입니다. askubuntu.com/questions/155865/…
Hawkeye Parker

22

이 답변은 주로 다른 구성 파일에 지정 될 때 와 같은 환경 변수 PATH가 할당 되는 순서에 관한 것 입니다. 또한 일반적으로 설정해야하는 위치도 다루지 만 아래 목록에는 파일 사용을 고려해야하는 순서대로 파일이 나열되어 있지 않습니다. PATH우분투의 설정 및 기타 환경 변수에 대한 일반적인 정보는 EnvironmentVariables 및이 질문에 대한 다른 답변을 읽는 것이 좋습니다 .

선호하는 설정 장소는 설정 해야하는 사용자 및 설정 시기 및 방법PATH 에 따라 다릅니다 . 결정의 일부는 모든 사용자에 대해 환경 변수 세트를 원하는지 또는 사용자별로 설정할 것인지입니다. 확실하지 않은 경우 시스템 전체가 아닌 한 명의 사용자 (예 : 계정)에 대해서만 설정하는 것이 좋습니다.

으로 AlexP 말한다PATH환경 변수가 된 값이됩니다 가장 최근에 할당을 . 실제로 대부분 의 시간을 설정 PATH하면 이전 값이 PATH새 값에 포함되어 이전 항목이 유지됩니다.

따라서 실제로 PATH여러 파일에서 설정하면 일반적으로 모든 파일에 지정된 항목이 포함됩니다. 그러나 첫 번째 파일을 제외한 모든 파일은 일반적으로 PATH변수 자체를 참조하여 이전 값이 새 값을 포함하기 때문에 발생합니다.

따라서 PATH다양한 파일의 설정이 적용 되는 순서를 요구하고 있습니다.

일반적인 범용 설정 위치 PATH는 사용자 가 일반적으로 사용하는 순서가 아닌 사용자가 로그인 할 때 적용되는 순서대로 아래에 나열되어 있습니다 . 아래 나열된 각 장소 PATH 일부 상황 에서 설정하기 적합한 선택 이지만 대부분의 경우 좋은 선택은 거의 없습니다.

아래 목록에는과 같은 디렉토리 이름이 ~/.profile있습니다. 당신이 익숙하지 않은 경우 틸드 확장 , ~/현재 사용자의 홈 디렉토리를 나타냅니다. 나는 주로 압축을 위해이 구문을 사용합니다. 쉘 스크립트에서는 지원되지만 PAM 구성 파일 에서는 지원 되지 않습니다 .

1. 모든 사용자의 경우 : /etc/environment

Ubuntu의 PAM/etc/environment 은 파일이 존재하는 경우 나열된 환경 변수 가 기본적으로 설정되도록합니다. 모든 사용자의 환경 변수가 가장 일반적으로 설정되는 방식입니다.

$ cat /etc/environment
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"

사용자 계정이 아닌 모든 사용자 계정에 환경 변수를 설정해야하는 경우 해당 파일을 수정하는 것이 가장 좋습니다. 먼저 백업하는 것이 좋습니다. 이 파일을 백업하는 한 가지 방법은 다음을 실행하는 것입니다.

sudo cp /etc/environment /etc/environment.orig

.orig당신이 혼란 이미 사용하지의 백업 파일 어떤 이름에 대해 좋은 느낌 수 - 확장은 특별히 필요하지 않습니다. (게다가 .orig, .old, .backup.bak일반적이다.)

당신은 (당신이 루트 사용자로 다른 파일을 편집 할 수있는 방법으로이 파일을 편집 할 수 있습니다 sudoedit /etc/enviromnment, sudo nano -w /etc/environment, gksudo gedit /etc/environment, 등)

/etc/environment변수의 이전 값을 자동으로 포함하는 것을 지원하지 않습니다. 그러나 이것은 일반적으로 불필요합니다. 대부분의 경우 편집하여 모든 사용자에 대한 환경 변수를 설정하기 /etc/environment때문에 사용자가 로그인 할 때 초기 값이되기를 원할 것입니다. 그런 다음 사용자는 원하는대로 변경할 수 있습니다. 일반적으로 사용자가이를 수행하는 것이 좋습니다.

2. 모든 사용자 : /etc/security/pam_env.conf

PAM은 /etc/security/pam_env.conf사용자 별 ~/.pam_environment파일 에서 사용 된 것과 동일한 구문으로 지정된 에서 모든 사용자에 대한 환경 변수를 읽습니다 (아래 참조).

같은 환경 변수를 모두 설정 한 경우 /etc/environment/etc/security/pam_env.conf, 상기 값이 pam_env.conf사용된다 - 그 값으로 지정되는 경우에도 DEFAULT보다는 OVERRIDE.

그러나 in environment과 함께 한 행을 대체 할 때는 pam_env.conf대체 된 값의 내용을 포함 할 수 있습니다. 자세한 내용은 아래 섹션을 참조 .pam_environment하십시오 (동일한 구문을 사용하므로).

그것은 편집하는 것이 필요는 없습니다 pam_env.conf그리고 당신은 당신이 할 경우 매우 조심해야 하는부터 잘못된 일반적으로 모든 로그인에서 모든 일반 사용자 계정을 방지 할 수 있습니다 라인! 예를 들어, 기본값 pam_env.conf에는 다음 줄이 포함됩니다.

#PATH           DEFAULT=${HOME}/bin:/usr/local/bin:/bin\
#:/usr/bin:/usr/local/bin/X11:/usr/bin/X11

이것은 몇 가지 예 중 하나로 제시됩니다. 설명 중 하나는을 사용하여 여러 줄에 할당을 분할하는 방법입니다 \. 첫 번째 행의 주석을 해제했지만 두 번째 행의 주석을 해제하는 것을 잊었다 고 가정하십시오.

PATH           DEFAULT=${HOME}/bin:/usr/local/bin:/bin\
#:/usr/bin:/usr/local/bin/X11:/usr/bin/X11

이러지 마!

방금 실수로 테스트 한 결과 모든 사용자가 성공적으로 로그인하지 못했습니다. 이 문제를 해결하려면 복구 모드로 부팅하고 다시 변경해야했습니다. (다행스럽게도 테스트를 위해서만 사용하는 가상 머신 에서이 작업을 수행 했으므로 아무런 문제가 발생하지 않았습니다.)

3. 한 명의 사용자 : .pam_environment사용자의 홈 디렉토리

단일 사용자에 대한 환경 변수를 설정하는 방법 중 하나는 해당 사용자가 .pam_environment홈 디렉토리에서 편집 (또는 작성) 하는 것입니다. 이 파일에 설정된 값이 글로벌 /etc/environment파일에 설정된 값보다 우선 합니다.

.pam_environment는 사용자 계정이 처음 만들어 질 때 사용자의 홈 폴더에 복사되는 파일 골격의 일부가 아닙니다. 그러나 홈 디렉토리에 해당 파일을 작성하면이 파일을 사용하여 다음과 같은 환경 변수를 설정할 수 있습니다 PATH. (와 /etc/environment마찬가지로 /etc/security/pam_env.conf) 사용자 별 .pam_environment파일은 환경 변수의 이전 값을 새로운 것으로 확장하는 것을 지원합니다. 그러나 셸 스크립트는 아니며 특수 구문을 사용하여이를 달성해야합니다 .profile. 이는 파일에서 사용하는 구문과 약간 다릅니다 .

예를 들어, bin2홈 디렉토리에 끝에 추가하려는 디렉토리가있는 PATH경우이 행을 .pam_environment다음 에 추가하면됩니다 .

PATH DEFAULT=${PATH}:/home/@{PAM_USER}/bin2

참조 하여 환경 (상기 예 밀접하도록 구성되는), 및 추가적인 세부 사항을.~/.pam_environmentman pam_envman pam_env.conf

이것은 우분투 사용자가 환경 변수를 변경하거나 추가하는 데 선호되는 방법으로 선전되었지만 여전히 합리적이고 수용 가능한 선택으로 간주되지만 편집 할 때는주의해야합니다.pam_environment . 시스템 전체에 대한 편집 /etc/security/pam_env.conf(위 참조)과 같이 사용자 .pam_environment파일 의 잘못된 행은 로그인이 성공하지 못하게합니다. (나는이 테스트 한 -. 일부러 시간) 방법에 대한 자세한 내용은 권고가진화 참조 군나르 할말 슨의견 은 아래ubuntu-devel토론 .

이러한 실수는 일반적으로pam_env.conf 한 명의 사용자에게만 영향을주기 때문에 잘못된 형식의 행보다 심각하지 않습니다 . 그러나 로그인을 허용하는 사용자 계정이 하나만있는 데스크탑 Ubuntu 시스템의 경우 편집하는 동안 .pam_environment실수하는 것은 실수 편집하는 것만 큼 나쁩니다. pam_env.conf아직 로그인하지 않은 경우에는 로그인 할 수 없습니다 복구 모드 (또는 라이브 USB 등)에서 부팅하지 않고 문제를 해결합니다.

(다른 사용자 계정이있는 경우 다른 사용자로 로그인하여 문제를 해결할 수 있습니다. 관리자가 아니고 루팅 할 수없는 경우에도 sudo계속 실행 하고 자신의 비밀번호가 아닌 비밀번호를 입력하라는 메시지가 표시 될 수 있습니다. . 게스트 가 사용 금지로 계정은, 그러나,이 작업을 수행 할 수있는 다른 사용자의 ID에 걸릴 수 있습니다.)su your-accountsu

4. 모든 사용자 : /etc/profile내부 파일/etc/profile.d/

Bourne 호환 쉘 ( bashUbuntu의 기본 사용자 쉘 포함 ) /etc/profile은 로그인 쉘로 호출 될 때 명령을 실행합니다 .

우분투의 /etc/profile.d끝 :

if [ -d /etc/profile.d ]; then
  for i in /etc/profile.d/*.sh; do
    if [ -r $i ]; then
      . $i
    fi
  done
  unset i
fi

/etc/profile.d/이름이 끝나는 디렉토리의 파일에있는 명령 .sh도 실행됩니다.

대부분의 디스플레이 관리자 는 그래픽 로그인에 대한 명령 /etc/profile(및에있는 파일 /etc/profile.d)이 실행되도록합니다. 그러나 모든 것이 아니라 PAM에서 제공하는 기능을 대신 사용하는 것이 유리한 주장입니다 (위 참조). 예를 들어,이 시스템에 그래픽 로그인이없는 경우가 아니라면 GUI가 설치되지 않은 서버

에 시스템 전체 환경 변수를 설정 /etc/profile하는 것이 일반적이지만 더 이상 최선의 선택이 아닙니다. 에서 환경 변수를 설정할 수없고 /etc/environment모든 사용자에 대해 환경 변수를 설정해야하는 /etc/profile.d/경우 /etc/profile자체 파일 을 편집하는 것 보다 새 파일을 만드는 것이 좋습니다 . 그 이유 중 하나는 Ubuntu가 업그레이드 될 때 새로운 기본 /etc/profile파일 이있을 수 있기 때문 입니다. 업그레이드 수행 방법에 따라 이전 파일 (변경 사항 포함)이 특정 업데이트 된 구성 파일보다 먼저 유지되거나 상황을 처리하라는 메시지가 표시됩니다.

에서 동일한 환경 변수가 /etc/profile하나 이상의 파일에 설정 /etc/profile.d되면 마지막으로 수행되는 것은 무엇입니까? 이것은 /etc/profile해당 세트 의 명령 이 파일의 profile.d소스 이전 또는 이후에 나타나는지 여부에 달려 있습니다 (위에서 인용 한 코드로). 명령은 /etc/profile표시된 순서대로 실행됩니다.

/etc/profile쉘 스크립트이며, 구문은 하지 상술 PAM 구성 파일과 동일 . 구문은 사용자 별 ~/.profile파일 의 구문과 동일 합니다 (아래 참조).

특정 디렉토리를 추가할지 여부 를 결정 하는 코드를 작성해야하는 경우 PATH(모든 사용자 에게 추가 해야하는 경우) 해당 디렉토리 를 사용 /etc/environment하거나 /etc/security/pam_env.conf수행 할 수 없습니다 . 이것은 아마도 사용 /etc/profile하거나 /etc/profile.d/대신 하는 것이 더 나은 주요 상황 일 것입니다.

5. 한 사용자의 경우 : .bash_profile사용자의 홈 디렉토리

사용자 ~/.bash_profile가을 가지고 있다면 bash는 ~/.profile또는 대신에을 사용합니다 ~/.bash_login(아래 참조). 일반적으로 .bash_profile홈 디렉토리 에는 없어야합니다 .

그럴 경우, 일반적으로 소스 ~/.profile(예 :)에 대한 명령을 포함해야합니다 . "$HOME/.profile". 그렇지 않으면 사용자 별 .profile파일 의 내용 이 전혀 실행되지 않습니다.

6. 한 사용자의 경우 : .bash_login사용자의 홈 디렉토리

만약 사용자 ~/.bash_login가을 가지고 있다면 , bash는 존재 ~/.profile하지 않는 한 (아래 참조) 대신 bash를 사용합니다 ~/.bash_profile.이 경우`~ / .bash_login에서 소스하지 않으면 다른 것들은 사용되지 않습니다.

에서와 마찬가지로 .bash_profile일반적으로 .bash_login홈 디렉토리에 파일 이 없어야합니다 .

7. 한 사용자의 경우 : .profile사용자의 홈 디렉토리에 있습니다.

Bourne 스타일 쉘이 로그인 쉘로 실행되면 명령이 실행됩니다 /etc/profile(일반적으로 파일의 명령을 실행시키는 명령이 포함됩니다 ( /etc/profile.d/위 참조)). 그 후, .profile사용자의 홈 디렉토리에서 명령을 실행합니다 . 이 파일은 모든 사용자마다 다릅니다. (Bash는 실제로 실행 .bash_profile되거나 .bash_login존재하는 경우 대신 실행 되지만 Ubuntu 시스템 사용자의 경우 해당 파일이 거의 존재하지 않거나 존재하지 않습니다. 자세한 내용 은 Bash 매뉴얼의 6.2 Bash 시작 파일 을 참조하십시오 .)

~/.profile따라서 사용자가 로그온 할 때 실행되는 명령을 넣을 수있는 주요 위치입니다. 이곳은 전통적인 장소 PATH이지만, 우분투에는 pam_env 모듈과 지원 기능이 있으므로이를 ~/.pam_environment사용하는 것이 좋습니다.

와 마찬가지로 /etc/profile, 모든 디스플레이 관리자가 그래픽 로그인을 위해이 파일을 실행하는 것은 아니지만 대부분의 경우입니다. 이것은 선호하는 이유는 ~/.pam_environment환경 변수를 설정 (하나가 선호하는 수만큼 /etc/environment/etc/profile).

당신은 다음과 같은 환경 변수를 확장 할 수 있습니다 PATH설정 한 경우, 자체 PATH에서 .pam_environment(위 참조). 그러나 PATH보다 정교한 방식으로 설정해야하는 경우 .profile대신 이를 사용해야합니다 . 특히, 사용자가 로그인 할 때마다 디렉토리가 있는지 확인하고있는 경우에만 디렉토리를 추가하려는 PATH경우 .pam_environment파일을 사용하여 해당 디렉토리를에 추가 할 수 없습니다 PATH.

예를 들어, 기본 사용자 별 .profile우분투에 파일 을 사용 하여 종료 :

# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/bin" ] ; then
    PATH="$HOME/bin:$PATH"
fi

자세한 내용 은 Byte Commander의 답변에 대한 Gunnar Hjalmarsson의견 을 참조하십시오.

bin홈 디렉토리 의 서브 디렉토리 가 있는지 확인합니다 . 그렇다면 해당 하위 디렉토리를의 시작 부분에 추가합니다 PATH.

이 목록에는 몇 가지 가능성이 없습니다.

사용자가 로그인 할 때 환경 유형이 설정되는 다른 방법은 로그인 유형에 더 크게 의존합니다. 예를 들어, 그래픽 로그인 또는 SSH 기반 원격 로그인에 대해서만 설정되는 환경 변수가있을 수 있습니다. 위의 목록은 그러한 경우를 다루지 않습니다.

나는 사람들이 가끔 같은 환경 변수를 정의하는 몇 개의 파일을 떠 났어요 ~/.bashrc하고 /etc/bash.bashrc, 그들은 일반적으로 설정하는 장소를 추천하지 않기 때문에 PATH그것을 당신이 실제로이 목적을 위해 사용할 것이 드물다. 이 파일을 사용하여 디렉토리를 추가 PATH하면 때때로 여러 번 추가되어 검사 할 때 매우 혼란스러워 $PATH집니다. 극단적 인 경우 속도가 느려질 수 있지만 일반적으로 모든 것을 깨끗하고 이해하기 쉽게 유지해야합니다.

bash사용자를위한 Ubuntu의 기본 로그인 셸 이므로 대부분의 사용자가이를 사용하거나 다른 POSIX 호환 셸을 사용하기 때문에 tcsh.


1
[의견 # 1 / 2]이 광범위한 설명에 감사드립니다! (나는 약간의 편집을했다.) 그러나 권장 된 방법에 관해서는 의문의 여지가있다. 몇 년 전 하여 환경이 언급 한 /etc/environment/ ~/.pam_environment로 추천 파일. 개발자들과상의 한 후 PAM과 / 사이에서 중립으로 변경했지만 여전히 그렇게 생각하는 경향이 있습니다. /etc/profile.d/*.sh~/.profile
Gunnar Hjalmarsson

1
[의견 # 2 / 2] PAM에 찬성하여 몇 가지 주장을 언급했습니다. /etc/profile.d/*.sh/ 에 대한 중요한 주장 ~/.profile은 구문이 더 간단하고 오류가 발생할 경우 lightdm / gdm이 용서한다는 것입니다 (구문 오류조차도 로그인을 방해하지 않고 경고 메시지 만 표시 함).
Gunnar Hjalmarsson

당신이 말할 때 pam_env.so, 당신은 의미 pam_env.conf했습니까?
Johan Boulé

@ JohanBoulé 그렇습니다 pam_env.conf. 감사! 수정하기 위해 편집했습니다.
Eliah Kagan

3

/ etc / environment 파일은 내보내기를 사용할 수없는 스크립트 파일이 아니며 $ HOME 유형의 변수 확장을 지원하지 않으며 simplevariable = value 쌍만 지원합니다. 따라서 해당 파일을 사용하려면 단순히 기존 정의에 경로를 추가해야합니다. 시스템 전체 환경 변수 설정을위한 것입니다. 한 줄에 하나씩. 특히이 파일은 시스템 전체 로캘 및 경로 설정을 저장합니다.

~ / .profile- 이 파일은 bash 쉘이 실행될 때마다 실행되며 일반적으로 환경 변수에 권장되는 것이지만 로그인 쉘에 의해서만 호출되는 단점이 있으므로 적용하려면 효과가 필요합니다. 로그 아웃했다가 다시 로그인하거나 최소한 새 로그인 쉘을 시작하십시오.


1

환경 변수 를 설정하기 위해 선호되는 장소 는 여러 가지에 따라 다릅니다.

  1. 컴퓨터를 사용하는 유일한 사람은 다음과 같습니다.
    • 이 경우 설정하기 가장 좋은 위치 /etc/environment는 _ 무단 액세스의 위험이 없기 때문입니다.
  2. 많은 사람이 시스템을 사용하는 경우
    • 변수 가 모두 액세스되어야 하는 경우 위치는 /etc/environment이지만
    • 경우 개별 사용자는 그들에 대한 액세스 권한을 선택해야 다음 각각에 그들의를 설정해야~/.profile 이 각 사용자의 홈 디렉토리에 위치하고 있기 때문에 시스템의 각 사용자에 관한.

시스템은 읽기 /etc/environment전에 읽습니다 ~/.profile. 연결이 발생 하지 않으며 Alex P가 말한 것처럼 경로에 대한 마지막 할당 이 우선합니다.

방법을 결정하는 요소에 대한 상세한 설명을 위해 ~/.profile/etc/environment이동 등의 위치 함께 연주 여기여기에 당신이이 위치를 사용하는 방법이 요인이 영향을 미칠 것 같이.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.