bash 특수 변수

bash script 및 cli에서 사용할 수 있는 bash 특수 변수들 모음

인자 관련 위치 매개변수 (Positional Parameters)

  • $0
    • 현재 실행중인 스크립트의 이름
  • $1, $2, …
    • 전달된 인자 (각각 순서대로)
  • $#
    • 인자의 개수
  • $@
    • 전달된 모든 인자 (개별 문자열, 공백으로 구분)
  • “$*”
    • 모든 인자 (단일 문자열, 공백으로 구분)

프로세스 관련 특수 변수

  • $?
    • 최근에 실행한 명령의 결과
  • $$
    • 현재 실행중인 shell 또는 script의 pid 반환
  • $!
    • 마지막으로 실행한 (실행중인) 프로세스의 pid
  • $-
    • 현재 사용중인 쉘 옵션
  • $_
    • 마지막으로 실행한 명령어의 마지막 인수 참조

Shell 환경 변수

  • $PWD
    • 현재 작업 디렉터리
  • $OLDPWD
    • 이전 작업 디렉터리
  • $HOME
    • 홈 디렉터리
  • IFS
    • 내부 필드 구분자 (Internal Field Separtor, 기본값: 공백, 탭, 개행)
  • $PATH
    • 명령어 실행시 찾을 디렉터리 목록
  • $SHELL
    • 현재 사용중인 쉘 경로
  • $RANDOM
    • 0 ~ 32767 사이의 랜덤 숫자 생성
  • $UID
    • 현재 사용자의 ID
  • $EUID
    • 현재 유효 사용자의 ID (Effective UID)
  • $PPID
    • 부모 프로세스의 ID
  • $LINENO
    • 현재 실행중인 스크립트의 line 번호

입출력 및 실행 상태 관련 변수

  • $PS1
    • 기본 프롬프트 문자열
  • $PS2
    • 보조 프롬프트 (예: 멀티라인 입력시 > 표시)
  • $PS3
    • select 명령어에서 사용되는 프롬프트
  • $PS4
    • set -x 디버깅 모드에서 각 명령어 앞에 출력되는 문자열
  • $TMOUT
    • 자동 로그아웃 대기 시간 (초 단위, 0이면 비활성화)
Licensed under CC BY-NC-SA 4.0
comments powered by Disqus