> php教程 > PHP开发 > Linux 환경 변수를 설정하는 여러 가지 방법

Linux 환경 변수를 설정하는 여러 가지 방법

高洛峰
풀어 주다: 2016-12-15 16:57:09
원래의
1361명이 탐색했습니다.

환경 변수는 Shell과 밀접한 관련이 있습니다. Shell은 사용자가 시스템에 로그인한 후 시작됩니다. Linux의 경우 일반적으로 bash이지만 재설정하거나 다른 셸로 전환할 수도 있습니다. UNIX의 경우 아마도 CShell일 것입니다. 환경변수는 쉘 명령어를 통해 설정되며, 설정된 환경변수는 현재 사용자가 실행하는 모든 프로그램에서 사용할 수 있다. 쉘 프로그램 bash의 경우 변수 이름을 통해 해당 환경 변수에 접근하고, 내보내기를 통해 환경 변수를 설정할 수 있습니다. 다음은 설명할 수 있는 몇 가지 예입니다.

1) etc/profile: 시스템의 각 사용자에 대한 환경 정보를 설정하는 파일입니다.
그리고 /etc/profile에서 이 파일이 실행됩니다. d 디렉토리 구성 파일에서 쉘 설정을 수집합니다.
참고: 여기에서는 모든 사용자가 사용할 수 있는 전역 변수를 설정합니다.

2)/etc/bashrc: bash 쉘을 실행하는 각 사용자에 대해 이 파일을 실행합니다. bash 쉘이 열리면 이 파일을 읽습니다.

3)~/.bash_profile :Each 사용자는 이 파일을 사용하여 자신의 용도에 맞는 쉘 정보를 입력할 수 있습니다. 사용자가 로그인하면 파일은 기본적으로 일부 환경 변수를 설정하고 사용자의 .bashrc 파일을 실행합니다. LINUX에서는 HOME 변수를 나타냅니다.
또한, 다른 LINUX 운영 체제에서는 이 파일이 다를 수 있습니다. ~/.bash_login 또는 ~/.profile 중 하나 이상이 있을 수 있습니다. 실행 순서는 다음과 같습니다. is: ~/.bash_profile, ~/.bash_login, ~/.profile. 예를 들어 저는 Ubuntu를 사용하고 있으며 기본적으로 사용자 폴더에는 ~/.profile 파일만 있습니다.

4)~/.bashrc: 이 파일에는 bash 쉘에 특정한 bash 정보가 포함되어 있습니다. 이 파일은 로그인할 때와 새 쉘이 열릴 때마다 읽혀집니다.

(참고: 이 파일은 다음으로 시작됩니다. ., 그래서 폴더에 숨겨져 있습니다)
그럼 우리가 정의한 환경 변수를 어떻게 추가하나요?
이 파일을 메모장으로 열고 마지막에
xiaokang=kangkang
이라고 적습니다. 그런 다음 새 터미널을 열 때마다 변수가 적용되도록 저장합니다. 터미널을 열고 이 파일을 수정하면 이 터미널에는 적용되지 않습니다. 일반적으로 사용자는 여기에서 수정하는 것이 가장 좋지만 때로는 상위 변수를 덮어쓰게 됩니다. 예를 들어 PATH는 ROOT로 설정되지만 이 파일에 PATH=xx를 쓰면 앞으로의 모든 PATH는 xx.이므로 이 파일에 다음과 같이 작성해야 합니다.
PATH=$PATH:xx
이런 방식으로 원본이 사용자의 것과 함께 추가됩니다. 그리고 LINUX 시스템에서는 다음을 사용하여 Windo가 아닌 병렬을 의미합니다.
3과 4는 모두 사용자 디렉터리에 있습니다. 유일한 차이점은 로그인할 때 .bash_profile을 한 번만 시작할 수 있다는 것입니다. 이 3개 파일은 내 우분투에 존재하지 않는 것 같습니다.

5)~/.bash_logout: 시스템을 종료할 때마다(bash 쉘 종료) 이 파일을 실행합니다.

또한 /etc/profile에 설정된 변수(전역)가 Any에서 작동할 수 있습니다. user 및 ~/.bashrc 등에 설정된 변수(로컬)는 /etc/profile의 변수만 상속할 수 있습니다.

~/.bash_profile은 "아버지-아들" 관계입니다. Interactive, login

~/.bashrc는 bash에 들어가 대화형 비로그인 모드로 실행하는 데 사용됩니다.
보통 둘의 설정은 거의 동일하므로 전자가 후자를 호출하는 경우가 많습니다.

실행 방법을 요약하면 다음과 같습니다.

로그인하고 로그인 셸이 bash이면 bash는 먼저 /etc/profile 파일(파일이 있는 경우)에 있는 명령을 실행한 다음 순차적으로 ~/.bash_profile, ~/.bash_login 또는 ~/.profile 파일을 찾아 발견된 첫 번째 읽을 수 있는 파일에서 명령을 실행합니다. bash에 로그인하면 ~/.bash_logout 파일의 명령이 실행됩니다.
대화형 bash를 시작할 때 ~/.bashrc 파일에 있는 명령을 실행합니다(파일이 존재하고 읽을 수 있는 경우). 쉘 스크립트를 실행하기 위해 비대화형으로 시작할 때 bash는 bash_env 환경 변수를 찾습니다. , 실행 파일의 이름을 결정합니다.

두 번째 정보
---------------------------- -- ------------------------------------------------ -- --

Linux에 로그인 시 파일이 실행되는 과정은 다음과 같습니다.

Linux에 처음 로그인할 때 /etc/profile 파일을 먼저 시작한 후 ~/를 시작합니다. 사용자 디렉터리의 bash_profile ~/ .bash_login 또는 ~/.profile 파일 중 하나(이름은 Linux 운영 체제에 따라 다릅니다!!!!!!!!! 내 Ubuntu에는 ~/.profile만 있습니다.) ),

실행 순서는 ~/.bash_profile, ~/.bash_login, ~/.profile입니다.

~/.bash_profile 파일이 존재하면 일반적으로 ~/.bashrc 파일이 실행됩니다.

대개 ~/.bash_profile 파일에 다음 코드가 있기 때문입니다:
if [ -f ~/.bashrc ] ; then
./bashrc
fi
~/.bashrc , 일반적으로 다음 코드가 있습니다:
if [ -f /etc/bashrc ] ; then
./bashrc
fi
따라서 ~/.bashrc는 /etc/bashrc 파일을 호출합니다. 마지막으로 쉘을 종료하면 ~/.bash_logout 파일도 실행됩니다.
실행 순서는 다음과 같습니다. /etc/profile -> (~/.bash_profile | ~/.bash_login | ~/.profile) -> ~/.bashrc -> .bash_logout
각 파일의 범위에 대해서는 인터넷에서 다음 지침을 찾았습니다.
(1)/etc/profile: 이 파일은 사용자가 시스템에 로그인할 때의 환경 정보를 설정합니다. 처음에는 파일이 실행됩니다. 쉘 설정은 /etc/profile.d 디렉토리의 구성 파일에서 수집됩니다.
(2)/etc/bashrc: bash 쉘을 실행하는 각 사용자에 대해 이 파일을 실행합니다. bash 쉘이 열리면 이 파일을 읽습니다.
(3) ~/.bash_profile: 각 사용자는 이 파일을 사용하여 자신의 용도에 맞는 쉘 정보를 입력할 수 있습니다. 사용자가 로그인하면 해당 파일은 기본적으로 일부 환경 변수를 설정하고 실행합니다! 사용자의 .bashrc 파일.
(4) ~/.bashrc: 이 파일에는 bash 쉘에 특정한 bash 정보가 포함되어 있습니다. 이 파일은 로그인할 때와 새 쉘이 열릴 때마다 읽혀집니다.
(5)
~/.bash_logout: 시스템을 종료할 때마다(bash 쉘 종료) 이 파일을 실행합니다.
또한 /etc/profile에 설정된 변수(전역)를 사용할 수 있습니다. 모든 사용자에 대해 ~/.bashrc 등에 설정된 변수(로컬)는
/etc/profile의 변수만 상속할 수 있습니다. 이들은 "아버지-아들" 관계를 갖습니다.
(6) ~/.bash_profile은 대화형 및 로그인 모드에서 실행되는 bash에 들어가는 데 사용됩니다. ~/.bashrc는 대화식 비로그인 모드에서 실행되는 bash에 들어가는 데 사용됩니다. 일반적으로 둘의 설정은 거의 동일합니다. 따라서 전자는 일반적으로 후자를 호출합니다.
/etc/profile 및 /etc/environment 등 다양한 환경 변수 설정 파일의 유용성
먼저 /etc/profile에 내보내기를 추가하고 시스템을 종료한 후 다시 로그인하면 로그인 프롬프트가 영어로 표시됩니다. .
/etc/profile에서 내보내기를 삭제하고 /etc/environment에 LNAG=zh_CN을 추가한 후 시스템에서 로그아웃했다가 다시 로그인하면 로그인 프롬프트가 중국어로 표시됩니다.
사용자 환경을 구축하는 과정에서는 항상 /etc/profile이 먼저 실행된 후 /etc/environment를 읽어옵니다. 위에서 설명한 것과 같이 차이점이 나타나는 이유는 무엇입니까?
/etc/environment를 먼저 실행한 다음 /etc/profile을 실행해야 합니다.
/etc/environment는 전체 시스템의 환경을 설정하는 것이고, /etc/profile은 모든 사용자의 환경을 설정하는 것입니다. 전자는 로그인한 사용자와 관련이 없고, 후자는 로그인한 사용자와 관련이 있습니다. 로그인한 사용자입니다.
시스템 애플리케이션의 실행은 사용자 환경과는 무관할 수 있으나 시스템 환경과 관련되어 있으므로, 로그인 시 표시되는 날짜 및 시간 정보 형식 등 프롬프트 정보는 시스템 환경의 LANG과 관련됩니다. 기본값은 LANG=en_US입니다. 시스템 환경 LANG=zh_CN이면 프롬프트 정보가 중국어로 표시되고, 그렇지 않으면 영어로 표시됩니다.
사용자의 SHELL 초기화를 위해서는 /etc/profile이 먼저 실행되고, 그 후 /etc/environment 파일이 읽혀집니다. 전체 시스템에 대해서는 /etc/environment가 먼저 실행됩니다. 이것이 올바른 이해인가?
/etc/enviroment --> /etc/profile --> $HOME/.profile -->$HOME/.env(존재하는 경우)
/etc/profile은 다음의 환경 변수입니다. 모든 사용자
/etc/enviroment는 시스템의 환경 변수입니다.
시스템에 로그인할 때 쉘이 읽는 순서는
/etc/profile ->/etc/enviroment -->입니다. ;$HOME/.profile -- >$HOME/.env
이유는 jtw에서 언급한 사용자 환경과 시스템 환경의 차이일 것입니다
사용자 환경(/etc/profile)에 동일한 변수가 있는 경우 )과 시스템 환경(/etc/environment) 값이 다를 경우 사용자 환경에 따라 설정해야 합니다.

Linux 환경 변수를 설정하는 여러 가지 방법에 대한 더 많은 관련 기사를 보려면 PHP 중국어 웹사이트를 주목하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 추천
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿