ioerror

unsetenv 사용법 및 옵션 - C 쉘 환경 변수 해제 본문

OS

unsetenv 사용법 및 옵션 - C 쉘 환경 변수 해제

반응형

 

unsetenv 사용법 및 옵션 - C 쉘 환경 변수 해제

unsetenv - Unset Environment Variable

C Shell(csh) 및 tcsh 환경에서 등록되어 있는 환경 변수를 제거하는 빌트인 명령어이다. 지정한 변수명을 내장 환경 변수 목록에서 삭제하여 더 이상 해당 프로세스 및 하부 프로세스에서 참조할 수 없도록 만든다. Bourne shell 계열(bash, zsh 등)의 unset 명령어와 대응된다.

1. 명령어 용도

  • 사용가능 OS, Shell: csh, tcsh
  • 빌드 스크립트나 환경 설정 파일 실행 중 불필요하거나 잘못 설정된 환경 변수를 제거할 때 주로 사용한다.
  • 임시로 설정한 환경 변수가 하위 프로세스로 전파되는 것을 방지하기 위해 사용한다.

2. 명령어 서식

unsetenv [변수명]
unsetenv [패턴]

 

3. 명령어 옵션

  • 주요 옵션 소개 테이블
옵션 설명 사용가능 OS 및 쉘
name 삭제할 환경 변수 이름 csh, tcsh
* 와일드카드를 사용한 패턴 일치 변수 일괄 삭제 tcsh
  • 명령어 옵션 사용시 결과 예시
# 환경 변수 설정
setenv MY_VAR "Hello World"
echo $MY_VAR
# Hello World

# 특정 환경 변수 제거
unsetenv MY_VAR
echo $MY_VAR
# MY_VAR: Undefined variable.

# tcsh에서 패턴을 활용한 환경 변수 일괄 제거
setenv TEST_1 "A"
setenv TEST_2 "B"
unsetenv TEST_*
echo $TEST_1
# TEST_1: Undefined variable.

4. 명령어 특이사항(유의사항)

  • bash나 zsh 같은 Bourne Shell 계열에서는 unsetenv 대신 unset 명령어를 사용해야 한다. bash에서 입력 시 command not found 에러가 발생한다.
  • unsetenv는 지정된 변수가 존재하지 않아도 에러를 출력하지 않고 정상 종료된다.
  • 변수명 뒤에 와일드카드(*)를 사용하는 패턴 삭제 기능은 기본 csh에서는 동작하지 않으며 tcsh 제어 환경에서 지원된다.
  • 현재 쉘 세션의 환경 변수만 삭제하며, 상위 프로세스(부모 쉘)의 환경 변수에는 영향을 주지 않는다.

관련 명령어들

  • setenv: C Shell계열에서 환경 변수를 설정하거나 출력하는 명령어이다.
  • unset: bash, zsh 등 Bourne Shell 계열에서 변수 또는 함수를 해제하는 명령어이다.
  • env: 현재 설정된 모든 환경 변수를 출력하거나 특정 환경에서 명령어를 실행하는 명령어이다.
  • export: bash, zsh 계열에서 환경 변수를 설정하고 자식 프로세스로 전파하는 명령어이다.

https://ioerror.tistory.com/entry/UNIX-Linux-Command-Reference

 

UNIX & Linux Command Reference

유닉스 / 리눅스 명령어 표유닉스와 리눅스 환경에서 자주 사용되는 필수 명령어들을 완벽하게 정리한다. 서버 관리, 프로그래밍, 일상적인 시스템 운영 등 어떤 목적이든 터미널 환경을 능숙하

ioerror.tistory.com

 

 

반응형
Comments