Linux에서 환경 변수는 시스템이 미리 정의한 매개 변수를 참조하며 전역 변수와 동일하고 모든 셸에 존재하며 상속을 가지며 셸 세션 및 작업 환경에 대한 정보를 저장할 수 있습니다.
이 튜토리얼의 운영 환경: linux5.9.8 시스템, Dell G3 컴퓨터.
1.1 환경 변수의 의미
환경 변수는 일반적으로 운영체제에서 동작 환경을 지정하는 몇몇 매개변수, 즉 시스템이 미리 정의한 매개변수를 가리킨다. 변수의 값을 보려면 "$"를 추가해야 합니다.
환경 변수는 bash 쉘의 기능이며 쉘 세션 및 작업 환경에 대한 정보를 저장하는 데 사용됩니다. 셸에서 실행되는 프로그램과 스크립트에서 액세스할 수 있도록 데이터를 메모리에 저장할 수 있습니다. 이 데이터는 사용자, 시스템, 셸 특성 및 저장해야 하는 기타 데이터를 식별하는 데 사용될 수 있습니다.
1.2 환경변수의 분류
1.2.1 동작 범위에 따라
리눅스의 변수는 환경변수와 로컬변수로 나눌 수 있습니다.
1) 환경변수: 전역변수와 동일 변수는 모든 쉘에 존재하며 상속을 갖습니다.
2) 로컬 변수: 로컬 변수와 동일하며 현재 쉘에만 존재합니다. 로컬 변수에는 환경 변수가 포함되며 비환경 변수에는 상속이 없습니다.
1.2.2 라이프 사이클에 따라
1) 영구: 구성 파일을 수정해야 하며 변수는 영구적으로 적용됩니다.
2) 임시: 내보내기 정의를 사용하면 셸을 닫은 후 무효화됩니다. .
모든 프로그램에는 환경 테이블이 있습니다. 각 포인터는 '로 시작하는 변수를 가리킵니다.
이 명령은 모든 환경 변수와 값을 표시하도록 지정합니다.
【예제】
4.3 set
이 명령은 지역 변수를 지정합니다.
【예제】
4.4export
이 명령은 새로운 환경 변수를 설정하는 것을 지정합니다.
[예제]
참고: 환경변수는 일반적으로 영문 대문자와 밑줄로 표현됩니다.
4.5 unset
이 명령은 환경 변수를 지우도록 지정합니다.
【예시】
4.6 readonly
이 명령은 읽기 전용 환경 변수를 설정하는 데 사용됩니다.
【예제】
설명: 환경변수 MY_ENV를 읽기 전용 모드로 설정한 후에는 사용자가 로그아웃할 때까지 수정할 수 없습니다.
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 쉘 종료) 이 파일을 실행합니다.
[예제 1]
참고: 명령줄의 세 번째 매개 변수는 문자 배열 포인터인 환경 테이블 주소입니다.
실행 결과:
[예제 2] 타사 변수인 environ을 통해
을 얻습니다. 실행 결과:
참고: libc에 정의된 전역 변수 environ은 환경 변수를 가리킵니다. Environ은 어떤 헤더 파일에도 포함되지 않으므로 사용 시 extern 선언을 사용한다.
일반적으로 환경 변수 대신 특정 환경 변수에 액세스하려면 getenv 및 putenv 함수를 사용합니다. 그러나 전체 환경을 보려면 Environ 포인터를 사용해야 합니다.
【예시 1】
실행 결과:
【예시 2】
작업 결과:
설명: "export MY_ENV=Love"는 하위 프로그램에서 상속할 수 있는 환경 변수를 내보내는 반면 "MY_ENV=Love"는 일반 변수를 내보내며 상속이 없습니다(getenv와 유사). 기능 동일).
관련 추천: "Linux 비디오 튜토리얼"
위 내용은 리눅스의 환경변수란?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!