ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 셸의 변수와 환경 변수
    Technique/LPIC 2019. 4. 26. 14:06
    반응형

    셸은 유저와 Linux 시스템의 대화를 담당한다. 그러기 위해서는 유저의 홈 디렉터리나 로그인명 등 유저에 관한 정보를 저장하고 있지 않으면 안 된다. Linux에는 이러한 정보는 변수에 저장된다. 변수는 그 유효 범위( 스코프 )에 따라 쉘 변수와 환경 변수에 나눠진다.

    셸 변수의 유효범위는 그 변수를 정의한 셸, 프로세스에만 한정된다. 해당 셸 프로세스를 종료한다면 셸 변수는 사라진다. 다른 셸을 새로 기동한 경우는 새로운 셸에 원래의 셸에 정의한 내용을 참조시키는 것은 불가능하다.

    환경 변수는 그 변수를 정의한 쉘 상 또는 그 셸에서 실행된 프로그램에도 영향을 미치는 변수이다. 환경 변수는 셸 변수를 export 커맨드로 이전 시키는 것으로 설정한다.

    환경변수 설명
    PATH 커맨드나 프로그램을 검색하는 디렉터리 리스트
    PWD 작업중인 디렉터리
    HOSTNAME 호스트 명
    USER 현재 로그인 중 유저
    LANG locale ( 언어 처리 방식 )
    HOME 현재 유저의 홈 디렉터리
    LOGNAME 로그인 셸의 유저명
    PS1 프롬프트의 표시 문자열
    PS2 복수행에 전해주는 입력 시의 프롬프트
    HISTSIZE 커맨드 이력의 최대치
    HISTFILE 커맨드 이력을 격납하는 파일
    HISTFILESIZE HISTFILE에 저장하는 이력의 크기
    TERM 단말의 종류
    변수명=값

    이 경우 =의 전후에 스페이스가 들어가지 않도록 주의해야 한다. 변수명에는 영어, 숫자, 언더파를 사용 가능하지만, 선두의 문자에 변수를 사용하는 것은 불가능하다. 대문자와 소문자는 구별된다. 값에 스페이스 등을 입력할 경우 이중 인용구 [ " ] 또는 단일 인용구 [ ` ]로 묶는다.

    정의된 변수는 echo 커맨드를 사용하여 참조 가능하다. echo 커맨드는 특정한 문자열에 변수의 값을 출력한다. 변수를 참조하는 경우는 변수 명의 선두에 [ $ ]를 붙인다.

     

    echo [문자열 또는 $변수명 ]

    변수를 삭제하기 위해서는 unset 커맨드를 사용한다. 이때 변수명에 선두에는 $기호를 붙인다.

    unset 변수명

    정의되어 있는 환경 변수를 리스트로 표시하기 위해서는 env 커맨드나 printenv 커맨드를 사용한다. 또는 환경 변수와 셸 변수를 양방 표시하고 싶을 경우 set 커맨드를 사용한다.

    셸 변수는 새롭게 기동한 셸로부터 참조하는 것은 불가능하지만 export 커맨드로 가져갈 경우 참조 가능하게 된다.

    반응형

    'Technique > LPIC' 카테고리의 다른 글

    커맨드의 실행  (0) 2019.05.07
    환경 변수 PATH  (0) 2019.04.26
    셸의 기본 조작과 설정  (0) 2019.04.23
      (0) 2019.04.23
    RPM 패키지 관리  (0) 2019.04.23

    댓글

Designed by Tistory.