- for 구문
- while 구문
[참고] shift
shift는 인자를 하나씩 당겨쓴다.
# cat shift.sh
|
#!/bin/ksh while [ $# -gt 0 ] do echo "$# : $*" shift done |
|
# ./shift.sh 1 2 3 4 5
|
5 : 1 2 3 4 5 4 : 2 3 4 5 3 : 3 4 5 2 : 4 5 1 : 5 |
|
[참고] until 구문
while 구문의 부정 형태 거의 사용되고 있지 않다.
[형식]
until condition
do
statements
done
- break 명령어
- continue 명령어
- 예제
|
#!/bin/bash FILE1=/etc/vsftpd/ftpusers for NAME in `cat $FILE1 | egrep -v '(^$|^#)'` do echo "$NAME can't access to FTP SERVER" done |
|
-> ftpusers 안에 적힌 사용자들은 ftp 서비스를 사용할 수 없다.
-> $와 # 으로 시작하는 것을 제외하고 하나씩 출력한다.
# shift.sh
|
#!/bin/bash # #./shift.sh -a -l -t # #./shift.sh -l -t -a if [ $# -ne 3 ] ; then echo "Usage: $0 <OPT1> <OPT2> <OPT3>" exit 1 fi while [ $# -gt 0 ] do OPT1=`echo $* | awk '{print $1}'` shift case $OPT1 in -a) echo all ;; -l) echo list ;; -t) echo test ;; *) echo "[ERROR]" esac done |
|
-> 인자를 3개를 받는다.
-> 인자의 개수가 0보다 크면 반복한다
-> 첫번째 인자를 OPT1에 넣고 case 문으로 골라 출력한다.
-> shift 로 인자를 하나씩 당겨 사용한다.
'Security > shell scripts' 카테고리의 다른 글
쉘 스크립트 예제 (0) | 2017.10.10 |
---|---|
쉘 스크립트 작성하기(조건문) (0) | 2017.10.02 |
쉘 스크립트_2 (0) | 2017.10.02 |
쉘 스크립트 (0) | 2017.09.27 |