강좌
클라우드/리눅스에 관한 강좌입니다.
리눅스 분류

레벨258-1 : 쉘환경변수 설정 해제하는 unset 활용

작성자 정보

  • 관리자 작성
  • 작성일

컨텐츠 정보

본문

레벨258-1 : 쉘환경변수 설정 해제하는 unset 활용

 

unset은 리눅스 쉘 로컬변수와 환경변수로 설정된 변수들의 설정을 해제할 수 있는 쉘내부명령어입니다. , 로컬변수와 환경변수 및 설정된 함수들의 설정을 메모리에서 제거하는 명령어입니다. 

 

쉽게 말씀 드리자면 변수명의 사용이 끝났으므로 그 변수명을 제거하기 위해 사용되는 명령어입니다.  쉘상태에서도 사용이 되지만 주로 쉘스크립트내에서 사용되는 명령어입니다. 

 

참고로 쉘상태 또는 쉘스크립트내에서 특정 변수명에 그 값을 할당하기 위하여 export라는 명령어를 사용합니다.  export로 할당된 변수들에 대하여 unset명령어는 그 변수를 제거하여 사용하지 못하도록 하는 것입니다.

 

 

사용형식   :  unset [-fv] [변수명 ...]

 

 

위에서 설명 드린 바와 같이 쉘상태에서나 쉘스크립트내에서 특정변수를 만들고 그 변수에 값을 할당하는 명령어 export와 생성된 변수를 제거하는 unset명령어에 대한 예입니다.

 

, 아래의 예에서 export명령어로 NAME이라는 변수를 생성하고 그 변수에 PARKSUNGSOO라는 값을 할당 하였습니다.   그리고 echo명령어로 NAME이라는 변수에 할당된 값을 확인 하였습니다.  그 결과 NAME이라는 변수에 할당된 PARKSUNGSOO라는 값이 출력된 예입니다. 

 

[sspark@su249 ~]$ export NAME=PARKSUNGSOO

[sspark@su249 ~]$

[sspark@su249 ~]$ echo $NAME

PARKSUNGSOO

[sspark@su249 ~]$

 

그리고 다음은 위의 export로 생성된 NAME이라는 변수를 제거하기 위하여 unset NAME을 사용하였습니다.  그 결과 NAME이라는 변수가 제거되었습니다. 이렇게 제거된 이후부터는 NAME이라는 변수자체가 존재하지 않기 때문에 사용할 수 없습니다.

 

unset으로 제거된 NAME이라는 변수를 echo명령어로 확인하였으나 변수가 제거되었기 때문에 아무런 값도 출력되지 않았습니다.

 

[sspark@su249 ~]$ unset NAME

[sspark@su249 ~]$

[sspark@su249 ~]$ echo $NAME

 

[sspark@su249 ~]$

 

참고로 읽기전용 변수에 대해서는 unset명령어로 제거할 수 없습니다. 또한 unset명령어 사용시에 -f옵션을 사용하시면 쉘함수(shell function)의 정의를 제거한다는 것도 알아 두시기 바랍니다. 

 

 

 

관련자료

댓글 0
등록된 댓글이 없습니다.

공지사항


뉴스광장


  • 현재 회원수 :  60,035 명
  • 현재 강좌수 :  35,794 개
  • 현재 접속자 :  166 명