카테고리 없음
bash 쉘 공부
НooпeУ
2012. 12. 6. 15:29
$* : 모든 위치 매개변수로 구성된 단일 문자열이며 기본적으로 공백 문자 , TAB, NEWLINE인 환경변수로 구분한다.
즉, 모든 매개변수를 하나의 문자열로 인식한다.
$@ : "$1 $2 $3 ... $N"과 같다
echo "alice : $@"
echo "$0 : $1 $2 $3 "
echo "$# arguments"
$# : arguments 개수
function afunc
{
local var1
echo "afunc"
echo "in function : $0 $1 $2"
var1="in function"
echo var1: $var1
}
var1="outside function"
echo var1: $var1
echo $0 : $1 $2
afunc funcarg1 funcarg2
echo var1 : $var1
echo $0 : $1 $2
$ascript arg1 arg2
result
var1: outside function
./ascript : arg1 arg2
afunc
in function : ./ascript funcarg1 funcarg2
var1: in function
var1 : outside function
./ascript : arg1 arg2
-> 이 스크립트의 인자 $1, $2는 arg1 arg2이다
-> afunc의 인자 $1, $2는 funcarg1 funcarg2 이다.
-> 스크립트의 var1은 전역변수
-> 함수내의 local var1은 지역변수 , 같은 변수이름이지만 출력하는 값은 다른 것을 확인할 수 있다.