Shell Positional Parameter(위치변수)
페이지 정보

본문
최종업데이트 : 2012/01/18
Positional Parameter(위치변수)
$0 => 쉘 스크립트 명
$1 => 첫번째 인자
$2 => 두번째 인자
$* => 모든 인자
[email protected] => 모든 인자
$# => 모든 인자 개수
$? => 마지막 실행 return value
$$ => 현재 쉘 스크립트의 PID
$_ => 마지막 인자
(1) ${parameter}
- 실 변수 보호
- 인자가 9개 이상일 때, 중괄호를 해 주어야 합니다.
(2) ${#parameter}
parameter 값의 문자수
(3) ${#identifier[*]}
배열 identifier의 element 수
(4) ${parameter:-word}
parameter의 값이 NOT NULL이면 그 값을 출력 그렇지 않으면 word 값을 출력
(5) ${parameter:+word}
parameter의 값이 NOT NULL이면 그 값을 출력 그렇지 않으면 아무것도 출력하지 않음.
(6) ${parameter:=word}
-------------------------------------------------------------------------
#!/bin/sh
# FileName : argu.sh
echo "----------------------------------------------------";
echo "(1) 쉘 스크립트명 : $0 ";
echo "(2) 첫번째 인자 : $1 ";
echo "(3) 두번째 인자 : $2 ";
echo "(4) 모든 인자 : $* ";
echo "(5) 모든 인자 : [email protected] ";
echo "(6) 모든 인자 개수 : $# ";
echo "(7) 마지막 실행 return value : $? ";
echo "(8) 현재 쉘 스크립트의 PID : $$ ";
echo "(9) 마지막 인자 : $_ ";
echo "----------------------------------------------------";
exit 0;
[[email protected] ~/work]# sh argu.sh 하나 둘 셋 넷 다섯 여섯 일곱
----------------------------------------------------
(1) 쉘 스크립트명 : argu.sh
(2) 첫번째 인자 : 하나
(3) 두번째 인자 : 둘
(4) 모든 인자 : 하나 둘 셋 넷 다섯 여섯 일곱
(5) 모든 인자 : 하나 둘 셋 넷 다섯 여섯 일곱
(6) 모든 인자 개수 : 7
(7) 마지막 실행 return value : 0
(8) 현재 쉘 스크립트의 PID : 20099
(9) 마지막 인자 : (8) 현재 쉘 스크립트의 PID : 20099
----------------------------------------------------
---------------------------------------------------------------------------
문법 : ${parameter:-word}
설명 : 값이 있으면 parameter 변수 값 출력, 없으면 word 대치어 출력
예문 :
[[email protected] tmp]# TMP1=/home/chanho
[[email protected] tmp]# echo ${TMP1:-/home/notNull}
/home/chanho
[[email protected] tmp]# echo ${TMP99:-/home/notNull}
/home/notNull
---------------------------------------------------------------------------
문법 : ${parameter:+word}
설명 : 값이 있으면 word 대이처 출력, 없으면 parameter 변수 값 출력
예문 :
[[email protected] tmp]# TMP1=/home/chanho
[[email protected] tmp]# echo ${TMP1:+/home/notNull}
/home/notNull
[[email protected] tmp]# echo ${TMP99:+/home/notNull}
/home/chanho
---------------------------------------------------------------------------
문법 : ${parameter:+word}
설명 : 값이 있으면 parameter 값을 출력하고, 없으면 word로 할당
예문 :
[[email protected] tmp]# echo ${TMP1:=/home/assign}
/home/chanho
---------------------------------------------------------------------------
문법 : ${parameter:?word}
설명 : 값이 있으면 parameter 값을 출력하고, 없으면 word를 출력하고 exit
[[email protected] tmp]# echo ${TMP1:?/home/assign}
/home/chanho
댓글목록
등록된 댓글이 없습니다.