728x90
for 문
지정된 범위 안에서 루프를 돌리는데 사용
범위에 사용되는 값은 어떤 문자열의 집합이라도 가능
표현식
for variable in value_list
do
command
done
실행순서
- variable 에 value_list의 첫 번째 단어가 지정
- command가 실행
- command가 끝나면 다시 variable에 value_list의 두 번째 단어
- value_list의 단어들이 다 사용될 때까지 진행
① {예제1}
$vi sample1
#!/bin/sh
for var in *
do
file_size='wc -c < $var'
echo $var contains $file_size charaters
if test $file_size -le 5120
then
echo the file $var is a small file
else
echo the file $var is a large file
fi
done
$chmod +x sample5
$./sample5
sample5 contains 209 charaters
the file sample5 is a small file |
while 문
for 문으로 어떤 명령을 지정한 횟수만큼 실행시키기가 어려울 경우에 사용
표현식
while condition
do
command
done
실행순서
- while과 do 사이의 command에서 되돌려주는 명령어의 종료 상태 값이 참인 경우에만 do와 done 사이의 command를 수행
- 순환을 계속하다가 condition의 종료 상태값이 거짓인 경우에는 순환을 종료
- 반환값이 참인 동안 계속 수행하므로 반환값이 항상 참일 경우에는 무한루프에 빠진다
① {예제1}
$vi sample2
#!/bin/sh
count=1
while [ $count -le 5 ]
do
echo $count
count='expr $count + 1'
done
$chmod +x sample2
$./sample2
1
2
3
4
5
② {예제2}
$vi sample3
#!/bin/sh
while [ $# -gt 0 ]
do
echo "$# : $*"
shift
done
$chmod +x sample3
$./sample3 1 2 3 4 5
5 : 1 2 3 4 5
4 : 1 2 3 4
3 : 1 2 3
2 : 1 2
1 : 1 ③ {예제3}
$vi sample4
#!/bin/sh
echo $#
echo $1
echo "----------------------------"
shift 2
echo $#
echo $1
$chmod +x sample4
$./sample4 starting shell programing !
4
start
----------------------------
2
programming |
until 문
while문과 비슷하지만 condition이 거짓일 동안만 실행
표현식
until condition
do
command
done
① {예제1}
$vi sample5
#!/bin/sh
until who | grep "$1" > /dev/null
do
sleep 100
done |
728x90
'Programming > linux왕초보' 카테고리의 다른 글
linux 병렬포트(프린트포트) 제어 (0) | 2008.10.13 |
---|---|
리눅스 버젼확인은 어찌하나요???;; (0) | 2008.09.12 |
shell programming - 변수 (0) | 2008.09.11 |
shell programming - 제어문 (0) | 2008.09.11 |
shell programming - 제어문 (0) | 2008.09.11 |
shell programming - 목록과 함수 (0) | 2008.09.11 |
shell programming - 명령 실행 (0) | 2008.09.11 |
shell programming (0) | 2008.09.11 |
shell programming - 명령어 (0) | 2008.09.11 |
crontab 사용 (0) | 2008.09.11 |