프로그래밍/쉘프로그래밍

인자값이해, 인자값 쉘프로그램

오늘도알찬하루 2017. 12. 21. 17:14
반응형

-인자값, 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 " "$#" (인자갯수만 표시)



-인자값이 3개  미만, 즉 2개

[root@station tmp]# sh /tmp/song.sh ddd dddd

Good your argument count is  2 AND ddd ,  dddd

if [ "$#" -lt "3" ] 실행되어, echo "argument count is " "$#" "AND"  "$1"   " "  "$2"    (인자값 ddd,  dddd를 출력)



반응형