| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | ||
| 6 | 7 | 8 | 9 | 10 | 11 | 12 |
| 13 | 14 | 15 | 16 | 17 | 18 | 19 |
| 20 | 21 | 22 | 23 | 24 | 25 | 26 |
| 27 | 28 | 29 | 30 |
Tags
- UNIX
- sysadmin
- terminal
- js
- coreutils
- 리눅스명령어
- linuxcommand
- JavaScript
- 명령어
- tcsh
- environment
- Unix명령어
- shell
- 터미널
- 유닉스
- linux
- PackageManagement
- 파일시스템
- php
- 쉘스크립트
- 사용자관리
- 리눅스
- 정규표현식
- 유닉스명령어
- Solaris
- 시스템관리
- bash
- UnixCommand
- 자바스크립트
- cups
Archives
- Today
- Total
ioerror
printenv 사용법 및 옵션 - 환경 변수의 값을 출력하거나 전체 환경 변수 목록을 조회하는 명령어 본문
반응형

printenv - Print Environment
printenv는 현재 셸 세션에 정의되어 있는 환경 변수(Environment Variable)의 이름과 값을 출력하는 명령어이다. 인자 없이 실행하면 시스템의 모든 환경 변수 목록을 표시하며, 특정 변수명을 지정하면 해당 변수의 값만을 출력한다. 시스템 설정 확인, 셸 스크립트 디버깅, 사용자 환경 구성 검증 등의 목적으로 다양한 UNIX 계열 OS에서 널리 사용된다.
1. 명령어 용도
- 시스템에 설정된 전체 환경 변수 목록을 빠르게 확인하고자 할 때 사용된다.
- PATH, USER, HOME 등 특정 환경 변수에 할당된 값을 조회하여 스크립트 동작 환경을 검증할 때 사용된다.
- 셸 스크립트 내부에서 동적으로 시스템 환경 정보를 가져와 분기 처리를 하고자 할 때 활용된다.
Bash
# 특정 환경 변수(예: PATH)의 값만 확인하고자 할 때
$ printenv PATH
/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
# 스크립트 내에서 특정 변수가 정의되어 있는지 안전하게 검사할 때
$ printenv USER
username
2. 명령어 서식
Bash
printenv [옵션] [변수명 ...]
3. 명령어 옵션
- printenv 명령어는 기능이 단순하여 지원하는 옵션이 매우 제한적이다.
| 옵션 | 설명 | 사용가능 OS 및 쉘 |
| -0, --null | 출력되는 각 환경 변수 항목의 끝을 줄바꿈(newline) 대신 null 문자(NUL)로 구분한다. | GNU coreutils Linux |
| --help | 명령어 사용법에 대한 도움말을 출력하고 종료한다. | GNU coreutils Linux |
| --version | 버전 정보를 출력하고 종료한다. | GNU coreutils Linux |
Bash
# 1. 인자 없이 실행하여 모든 환경 변수 목록 출력
$ printenv
SHELL=/bin/bash
USER=developer
PATH=/usr/local/bin:/usr/bin:/bin
pwd=/home/developer
# 결과 분석: 시스템에 등록된 모든 환경 변수가 '변수명=값' 형태로 줄바꿈되어 출력됨
# 2. 여러 개의 특정 변수 값을 동시에 조회
$ printenv USER SHELL
developer
/bin/bash
# 결과 분석: 지정한 변수들의 값이 입력된 순서대로 각각 한 줄씩 출력됨
# 3. -0 (null) 옵션을 사용한 안전한 데이터 처리 (파이프라인 연계)
$ printenv -0 | xargs -0 -n 1
SHELL=/bin/bash
USER=developer
PATH=/usr/local/bin:/usr/bin:/bin
pwd=/home/developer
# 결과 분석: 각 변수 출력이 null 문자로 구분되어, 값 내부에 공백이나 줄바꿈이 포함된 변수도 데이터가 깨지지 않고 안전하게 전달됨
4. 명령어 특이사항(유의사항)
- env 명령어와의 차이점: env 명령어와 유사하지만, env는 환경 변수를 임시로 변경하여 새 명령어를 실행하는 기능이 주 목적인 반면, printenv는 순수하게 환경 변수를 출력하는 것에 특화되어 있다. 또한 특정 변수명을 인자로 직접 넘겼을 때 printenv는 해당 값만 출력하지만, env는 단독 변수명 인자를 인식하지 못한다.
- 셸 내장 변수 미표시: printenv는 '환경 변수(Exported Variables)'만 출력하며, 셸 내부에서만 사용되는 '로컬 셸 변수(Local Shell Variables)'는 출력하지 않는다. 로컬 변수까지 모두 확인하려면 set 명령어를 사용해야 한다.
- 존재하지 않는 변수 조회 시 반환 코드: 존재하지 않는 환경 변수명을 인자로 전달하여 조회하면 아무것도 출력하지 않으며, 종료 상태 코드 1을 반환한다. 이는 스크립트 작성 시 변수 존재 여부를 판별하는 조건문으로 유용하게 활용된다.
관련 명령어들
- env: 환경 변수를 설정하여 명령을 실행하거나 전체 환경 변수를 출력한다.
- set: 셸 변수와 환경 변수를 모두 출력하고 설정한다.
- export: 로컬 셸 변수를 환경 변수로 내보낸다.
https://ioerror.tistory.com/entry/UNIX-Linux-Command-Reference
UNIX & Linux Command Reference
유닉스 / 리눅스 명령어 표유닉스와 리눅스 환경에서 자주 사용되는 필수 명령어들을 완벽하게 정리한다. 서버 관리, 프로그래밍, 일상적인 시스템 운영 등 어떤 목적이든 터미널 환경을 능숙하
ioerror.tistory.com
반응형
'OS' 카테고리의 다른 글
| pushd 사용법 및 옵션 - 현재 디렉터리를 디렉터리 스택에 저장하고 새로운 디렉터리로 이동하는 명령어 (0) | 2026.07.16 |
|---|---|
| ps 사용법 및 옵션 - 현재 실행 중인 프로세스의 상태를 확인하는 명령어 (0) | 2026.07.16 |
| popd 사용법 및 옵션 - 디렉터리 스택에서 최상단 디렉터리를 제거하고 이동하는 명령어 (0) | 2026.07.16 |
| pkginfo 명령어 사용법 및 옵션 - 시스템에 설치된 소프트웨어 패키지의 정보를 조회하는 명령어 (0) | 2026.07.05 |
| pkg_info 명령어 사용법 및 옵션 - 설치된 패키지의 정보 및 파일 목록을 조회하는 명령어 (0) | 2026.07.05 |
Comments