라즈베리파이(Raspberrypi)

[Linux]리눅스 환경변수, 쉘이란?(Shell, echo, env, export, bashrc, Environment variable)

끄적끄적아무거나 2022. 7. 28. 09:23
반응형

 

목차

     

     

     

     

    리눅스 환경변수, 쉘이란?(Shell, Environment variable)

     

    환경 변수란 리눅스 사용자가 로그인할 때 자동으로 셸/쉘(Shell)이 실행되면서 사용환경을 구축합니다. 이때 Shell을 환경변수(Environment variable)라고 합니다. 

     

    간단하게 예를 들면 스마트 아파트에 사용자가 들어가면 사용자를 인식해서 기본적으로 에어컨으로 온도를 조절 해주고 커튼을 열어주고 공기 청정기를 켜주는 시스템이 있다고 생각하면 각 사용자마다 설정해 놓은 스마트 기능이 다를 것입니다. 여기서 에어컨이나 청정기와 같은 장치를 Shell이라고 생각하시고 아파트는 리눅스 시스템이라고 생각하시면 됩니다.

     

     

     

    리눅스를 시작하면 모든 사용자들이 대부분 공통적으로 실행되는 환경 변수들이 있는데 해당 환경 변수는 아래와 같습니다.

     

    • USER : 로그인 사용자 이름
    • LOGNAME : 프로세스 관련 사용자 이름
    • HOME : 사용자 홈 디렉터리
    • LANG : LC_ALL이 지정되지 않은 로케일 이름
    • LC_ALL : 로케일 이름
    • PATH : 실행 파일 탐색 경록
    • PWD : 현재 작업 디렉터리
    • SHELL : 사용자 쉘 절대 결로
    • DISPLAY : X윈도우 장치
    • EDITOR : 기본 편집기
    • PS1 : 프롬프트
    • TERM : 터미널 유형
    • HISFILE : 히스토리 파일
    • HISFILESIZE : 히스토리 파일 사이즈
    • HISTSIZE : 히스토리 저장 개수
    • LD_LIBRARY_PATH : 동적 연결 라이브러리 경로
    • TZ : 타임 존
    • COLUMN : 터미널 열수
    • LINES : 터미널 줄 수

     

     

     

     

    리눅스 환경변수, 쉘 실습(echo, env, export, unset, bashrc)

     

    환경 변수의 값을 확인하는 방법은 echo를 사용해서 확인합니다. 그리고 변수명 앞에 달러 표시($)를 붙여 줍니다.  env는 전체 환경 변수를 확인해줍니다. export는 환경 변수를 설정해줍니다. unset는 설정된 값을 해제해줍니다.

     

    echo $환경변수명
    env
    export 환경변수명=변경할값

     

    위 명령에 대한 실습은 아래에서 진행하겠습니다. 참고로 환경 변수는 수정해도 재부팅 하면 사라지게 되어 있습니다. 부팅 뒤에도 영구적으로 적용하는 방법에 대해서도 알아보겠습니다.

     

     

     

     

     

    아래는 echo로 환경변수의 값을 확인해보는 예제 입니다.

     

    예제 코드 >>

    주석>>

    변수명은 대문자 소문자를 구분 합니다. 

     

     

     

     

     

    아래는 전체 환경 변수 중 원하는 값을 확인하는 방법입니다.

     

    예제 코드>>

    주석>>

    grep을 삭제하면 전체 환경 변수를 확인할 수 있습니다. 

     

     

     

     

     

     

     

    아래는 export와 unset으로 변수값을 추가하고 삭제하는 방법에 대해 알아보겠습니다.

    주석>>

    위와 같이 export로 PATH에 대한 변수를 설정하고 unset으로 삭제 하였습니다.

     

     

     

     

     

     

    아래 예제는 .bashrc로 영구적으로 환경 변수에 기록하는 방법에 대해 알아보겠습니다. 사용자가 리눅스(Linux)에 로그인을 하게 되면 자동으로 .profile을 실행하고 profile은 .bashrc를 실행합니다. 그러므로 .bashrc에 환경 변수를 export로 기록하면 부팅 시 마다 변경된 변수 값을 사용할 수 있습니다. 

     

     

    예제코드>>

    주석>>nano 편집기로 bashrc 파일의 하단에 export로 기존 변수에 /usr/linux_test를 추가하였습니다.

     

    주석>> 위 출력은 재부팅 후 확인한 변수값입니다. 변경된 값이 부팅 후에도 적용되었음을 알 수 있습니다.

    반응형