쉘프로그래밍강좌061 : 쉘환경변수 설정 해제하는 unset 활용
작성자 정보
- 관리자 작성
- 작성일
컨텐츠 정보
- 2,075 조회
- 0 추천
- 목록
본문
쉘프로그래밍강좌061 : 쉘환경변수 설정 해제하는 unset 활용
unset은 리눅스 쉘 로컬변수와 환경변수로 설정된 변수들의 설정을 해제할 수 있는 쉘내부명령어입니다.
즉, 로컬변수와 환경변수 및 설정된 함수들의 설정을 메모리에서 제거하는 명령어입니다.
쉽게 말씀 드리자면 변수명의 사용이 끝났으므로 그 변수명을 제거하기 위해 사용되는 명령어입니다.
쉘상태에서도 사용이 되지만 주로 쉘스크립트내에서 사용되는 명령어입니다.
참고로 쉘상태 또는 쉘스크립트내에서 특정 변수명에 그 값을 할당하기 위하여 export라는 명령어를 사용합니다.
즉 export로 할당된 변수들에 대하여 unset명령어는 그 변수를 제거하여 사용하지 못하도록 하는 것입니다.
사용형식 : unset [-fv] [변수명 ...]
위에서 설명 드린 바와 같이 쉘상태에서나 쉘스크립트내에서 특정변수를 만들고 그 변수에 값을 할당하는 명령어 export와 생성된 변수를 제거하는 unset명령어에 대한 예입니다.
즉, 아래의 예에서 export명령어로 NAME이라는 변수를 생성하고 그 변수에 PARKSUNGSOO라는 값을 할당 하였습니다.
그리고 echo명령어로 NAME이라는 변수에 할당된 값을 확인 하였습니다.
그 결과 NAME이라는 변수에 할당된 PARKSUNGSOO라는 값이 출력된 예입니다.
[root@RockyLinux01 ~]# export NAME=PARKSUNGSOO [root@RockyLinux01 ~]# [root@RockyLinux01 ~]# echo $NAME PARKSUNGSOO [root@RockyLinux01 ~]# |
그리고 다음은 위의 export로 생성된 NAME이라는 변수를 제거하기 위하여 “unset NAME”을 사용하였습니다.
그 결과 NAME이라는 변수가 제거되었습니다.
이렇게 제거된 이후부터는 NAME이라는 변수자체가 존재하지 않기 때문에 사용할 수 없습니다.
즉 unset으로 제거된 NAME이라는 변수를 echo명령어로 확인하였으나 변수가 제거되었기 때문에 아무런 값도 출력되지 않았습니다.
[root@RockyLinux01 ~]# unset NAME [root@RockyLinux01 ~]# [root@RockyLinux01 ~]# echo $NAME
[root@RockyLinux01 ~]# |
참고로 읽기전용 변수에 대해서는 unset명령어로 제거할 수 없습니다.
또한 unset명령어 사용시에 -f옵션을 사용하시면 쉘함수(shell function)의 정의를 제거한다는 것도 알아 두시기 바랍니다.
관련자료
-
이전
-
다음