반응형
Argument받아서 처리하기
bash 스크립트로 argument를 여러 개 받아 해당 수 만큼 for loop을 돌릴 때 쓰는 방법이다.
전체 argument를 반복하고 싶다면 아래처럼 하면 된다.
for i in $@ ; do echo $i ; done
특정 구간만을 반복시키고 싶다면 indexing을 넣어주어야 한다. 아래 예시는 2번부터 끝까지 반복이다.
for i in ${@:2} ; do echo $i ; done
2번부터 3번 반복하고 싶다면 (즉 2부터 4까지) 아래처럼 더 추가한다.
for i in ${@:2:3} ; do echo $i ; done
argument가 몇 개 인지 알고싶다면 "$#" 를 사용하면 된다.
argument가 0개 일때의 조건문.
if [ $# -eq 0 ] ; then
echo "Number of argument is 0"
else
echo "Number of argument is $#"
fi
Reference -
https://stackoverflow.com/questions/255898/how-to-iterate-over-arguments-in-a-bash-script
https://stackoverflow.com/questions/4423306/how-do-i-find-the-number-of-arguments-passed-to-a-bash-script
반응형