>  기사  >  운영 및 유지보수  >  리눅스의 환경변수란?

리눅스의 환경변수란?

青灯夜游
青灯夜游원래의
2021-11-30 17:08:269074검색

Linux에서 환경 변수는 시스템이 미리 정의한 매개 변수를 참조하며 전역 변수와 동일하고 모든 셸에 존재하며 상속을 가지며 셸 세션 및 작업 환경에 대한 정보를 저장할 수 있습니다.

리눅스의 환경변수란?

이 튜토리얼의 운영 환경: linux5.9.8 시스템, Dell G3 컴퓨터.

1. 환경 변수의 개념

1.1 환경 변수의 의미

환경 변수는 일반적으로 운영체제에서 동작 환경을 지정하는 몇몇 매개변수, 즉 시스템이 미리 정의한 매개변수를 가리킨다. 변수의 값을 보려면 "$"를 추가해야 합니다.

환경 변수는 bash 쉘의 기능이며 쉘 세션 및 작업 환경에 대한 정보를 저장하는 데 사용됩니다. 셸에서 실행되는 프로그램과 스크립트에서 액세스할 수 있도록 데이터를 메모리에 저장할 수 있습니다. 이 데이터는 사용자, 시스템, 셸 특성 및 저장해야 하는 기타 데이터를 식별하는 데 사용될 수 있습니다.

1.2 환경변수의 분류

1.2.1 동작 범위에 따라

리눅스의 변수는 환경변수와 로컬변수로 나눌 수 있습니다.

1) 환경변수: 전역변수와 동일 변수는 모든 쉘에 존재하며 상속을 갖습니다.

2) 로컬 변수: 로컬 변수와 동일하며 현재 쉘에만 존재합니다. 로컬 변수에는 환경 변수가 포함되며 비환경 변수에는 상속이 없습니다.

1.2.2 라이프 사이클에 따라

1) 영구: 구성 파일을 수정해야 하며 변수는 영구적으로 적용됩니다.

2) 임시: 내보내기 정의를 사용하면 셸을 닫은 후 무효화됩니다. .

2. 환경 변수 구성 방법

리눅스의 환경변수란?

모든 프로그램에는 환경 테이블이 있습니다. 각 포인터는 '로 시작하는 변수를 가리킵니다.

이 명령은 모든 환경 변수와 값을 표시하도록 지정합니다.

【예제】

리눅스의 환경변수란?

4.3 set

이 명령은 지역 변수를 지정합니다.

【예제】

리눅스의 환경변수란?

4.4export

이 명령은 새로운 환경 변수를 설정하는 것을 지정합니다.

[예제]

리눅스의 환경변수란?

참고: 환경변수는 일반적으로 영문 대문자와 밑줄로 표현됩니다.

4.5 unset

이 명령은 환경 변수를 지우도록 지정합니다.

【예시】

리눅스의 환경변수란?

4.6 readonly

이 명령은 읽기 전용 환경 변수를 설정하는 데 사용됩니다.

【예제】

리눅스의 환경변수란?
설명: 환경변수 MY_ENV를 읽기 전용 모드로 설정한 후에는 사용자가 로그아웃할 때까지 수정할 수 없습니다.

5. 환경 변수를 저장하는 파일

5.1 /etc/profile

이 파일의 기능은 사용자가 로그인할 때 시스템의 환경 변수를 가져오고 한 번만 가져오는 것입니다.

5.2 /etc/bashrc

/etc/profile 파일이 실행된 후 사용자가 bash 쉘을 열려고 하면 파일을 읽습니다. Bash 쉘을 열 때마다 특정 작업을 수행하려면 이 파일에서 설정할 수 있습니다.

5.3 ~/.bash_profile

각 사용자는 이 파일을 사용하여 자신의 용도에 맞는 쉘 정보를 입력할 수 있습니다. 이 파일은 사용자가 로그인할 때 한 번만 실행됩니다. 기본적으로 일부 환경 변수를 설정하고 사용자의 .bashrc 파일을 실행합니다.

단일 사용자가 이 파일을 수정하면 시스템에 대한 모든 후속 로그인에만 영향을 미칩니다. 따라서 여기에서 단일 사용자에 대한 특수 환경 변수 또는 특수 작업을 설정할 수 있으며, 그러면 로그인할 때마다 이러한 새로운 환경 변수를 얻거나 특정 특수 작업을 수행하지만 로그인할 때만 가능합니다

5.4 ~/.bashrc

이 파일에는 한 사람의 bash 쉘에 특정한 bash 정보가 포함되어 있으며 로그인할 때와 새 쉘이 열릴 때마다 읽혀집니다.

단일 사용자가 이 파일을 수정하면 시스템에 로그인할 때마다 그리고 새 bash를 열 때마다 영향을 받습니다. 따라서 여기에서 단일 사용자에 대한 특수 환경 변수 또는 특수 작업을 설정할 수 있습니다. 그러면 시스템에 로그인하거나 새 bash를 열 때마다 해당 특수 환경 변수 및 특수 작업을 얻을 수 있습니다.

5.5 ~/.bash_logout

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

6. 코드를 통해 환경 변수 얻기

[예제 1]

리눅스의 환경변수란?

참고: 명령줄의 세 번째 매개 변수는 문자 배열 포인터인 환경 테이블 주소입니다.

실행 결과:

리눅스의 환경변수란?

[예제 2] 타사 변수인 environ을 통해

리눅스의 환경변수란?

을 얻습니다. 실행 결과:

리눅스의 환경변수란?

참고: libc에 정의된 전역 변수 environ은 환경 변수를 가리킵니다. Environ은 어떤 헤더 파일에도 포함되지 않으므로 사용 시 extern 선언을 사용한다.

7. 시스템 호출을 통해 환경 변수를 얻거나 설정합니다.

일반적으로 환경 변수 대신 특정 환경 변수에 액세스하려면 getenv 및 putenv 함수를 사용합니다. 그러나 전체 환경을 보려면 Environ 포인터를 사용해야 합니다.

【예시 1】

리눅스의 환경변수란?

실행 결과:

리눅스의 환경변수란?

【예시 2】

리눅스의 환경변수란?

작업 결과:

리눅스의 환경변수란?

설명: "export MY_ENV=Love"는 하위 프로그램에서 상속할 수 있는 환경 변수를 내보내는 반면 "MY_ENV=Love"는 일반 변수를 내보내며 상속이 없습니다(getenv와 유사). 기능 동일).

관련 추천: "Linux 비디오 튜토리얼"

위 내용은 리눅스의 환경변수란?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.