인자값이해, 인자값 쉘프로그램
-인자값, argument,,
:위 용어 용어를 정의하는것 보단, 아래 예시를 보면 한번에 이해할수 있다.
-예제
sh /tmp/test.sh AAA BBB CCC
-> test.sh 쉘을 실행시킬때, AAA ,BBB, CCC 명령줄에 부가적으로 붙어지는 것들이 인자값이라고 이해하면 편함
sh /tmp/test.sh AAA BBB CCC
AAA BBB CCC 3개가 차례대로 이어진다. 이를 인자 변수로 얘기하면
$숫자 = 인자를 차례대 즉,
$1 = AAA , $2 = BBB , $3 = CCC 된다.
$# (인자의 총 갯수)
위는 sh /tmp/test.sh AAA BBB CCC 와 같이 인자는 총 3개
-인자값을 테스트해본 Shell Program
#!/bin/bash
if [ "$#" -eq "0" ] ## IF[ $# -eq 0 ] $#로 인자값의 총 갯수가 0보다 크냐??
then ## yes일 경우( 인자값 = 0)
echo "Usage : /tmp/song argument"
else if [ "$#" -gt "2" ] ## no, 인자값이 (2개 이상일경우)
then
echo "Good your argument count is " "$#" ## 인자값 count 하여 표시
fi
if [ "$#" -lt "3" ] ## IF[ $# -eq 0 ] no, 인자값이 (3개 보다 작은경우)
then
echo "argument count is " "$#" "AND" "$1" " " "$2" # d인자값 count표시 , 각 인자 정보 ($1, $2)
fi 인자값이 3보다작으니 $1, $2 만 표시한다.
fi
ㅁ테스트결과
-인자값이 2이상인경우
[root@station tmp]# sh /tmp/song.sh ddd dddd sdfsdf
Good your argument count is 3
else if [ "$#" -gt "2"] 구문이 실행되어 , echo "Good your argument count is " "$#" (인자갯수만 표시)
if [ "$#" -lt "3" ] 실행되어, echo "argument count is " "$#" "AND" "$1" " " "$2" (인자값 ddd, dddd를 출력)