특별한 변수들

Park, Jinyong·2020년 4월 18일
0

Shell script programming

목록 보기
2/5

https://www.tutorialspoint.com/unix/unix-special-variables.htm

특정 기능을 수행하기 위해 이미 예약된 변수들이 있다.

VariableDescription
$0현재 스크립트 파일의 이름
$n$1, $2, $3 ... 의 형태로 스크립트나 함수가 호출될 때 넣은 인수
$#스크립트나 함수가 호출될 때 넣은 인수의 개수
$*모든 인수를 합한 문자열
$@모든 인수
$?마지막으로 실행된 명령의 exit 상태
$$현재 쉘의 프로세스 ID 번호
$!마지막으로 백그라운드에서 실행된 명령의 프로세스 ID 번호

$*와 $@ 차이

$*는 모든 인수를 합해서 하나의 문자열로 가지고 있지만, $@는 각각의 인수를 따로 가지고 있다.

#!/bin/bash
echo "\$*:"
for TOKEN in "$*"; do
  echo "$TOKEN"
done
echo
echo "\$@:"
for TOKEN in "$@"; do
  echo "$TOKEN"
done
exit 0
> ./test.sh aaa bbb ccc
$*:
aaa bbb ccc

$@:
aaa
bbb
ccc

$@는 배열과 마찬가지로 동작한다.

0개의 댓글