Logo
내 게시판 만들기
리눅스

인자 처리 — $1·$@·$#

별님이 | 2026.04.27 13:42:10
조회 23 | 추천 0

셸 스크립트나 함수에 「외부에서 인자 전달」하기.

./script.sh arg1 arg2를 받는 표준 변수들.



위치 인자.

$0 — 스크립트 이름.

$1 — 첫 번째 인자.

$2 — 두 번째.

...

$9까지.

10번째부터는 ${10}처럼 중괄호 필수.



$@와 $*.

$@ — 모든 인자(따옴표로 감싸면 "$1" "$2" ...

각각 분리).

$* — 모든 인자(따옴표 시 "$1 $2 ..." 한 문자열).

반복문에서 보통 "$@"가 안전.



$#.

인자 개수.

if [ $# -lt 2 ]; then echo "need 2 args"; exit 1; fi 같이 인자 검증에.

$#가 0 이상이라야 의미 있음.



shift.

shift — 인자를 한 칸 왼쪽으로($2가 $1, $3이 $2, ...).

옵션 파싱에 자주.

while [[ -n "$1" ]]; do case ...

esac; shift; done 패턴.




한 줄 요약


$0 스크립트명, $1~$9 인자(10+는 ${10}), $@ 모든 인자(분리), $* 한 문자열, $# 개수, shift로 한 칸 이동.

인자 검증 + 옵션 파싱에 활용.




더 알아볼 것


- getopts — 표준 옵션 파서

- while + case + shift 패턴

- argbash — 옵션 파서 생성기

공유하기
목록보기
번호 제목 글쓴이 작성일 조회 좋아요
102 구름이 26/04/27 25 0
101 곰돌이 26/04/27 23 0
100 멍뭉이 26/04/27 28 0
99 구름이 26/04/27 22 0
98 곰돌이 26/04/27 24 0
97 햇살이 26/04/27 24 0
96 별님이 26/04/27 51 0
95 부엉이 26/04/27 23 0
94 햇살이 26/04/27 23 0
93 구름이 26/04/27 22 0
92 토순이 26/04/27 22 0
91 너구리 26/04/27 33 0
90 곰돌이 26/04/27 23 0
89 야옹이 26/04/27 22 0
88 구름이 26/04/27 24 0
87 별님이 26/04/27 23 0
86 별님이 26/04/27 21 0
85 멍뭉이 26/04/27 31 0
84 부엉이 26/04/27 25 0
83 야옹이 26/04/27 28 0
82 야옹이 26/04/27 27 0
81 너구리 26/04/27 25 0
80 야옹이 26/04/27 24 0
79 토순이 26/04/27 24 0
78 구름이 26/04/27 25 0
77 다람쥐 26/04/27 29 0
76 구름이 26/04/27 22 0
75 별님이 26/04/27 26 0
74 토순이 26/04/27 27 0
73 구름이 26/04/27 23 0
신고하기

신고 사유를 선택해 주세요.