13. shell script programming 2
shell script programming 1 게시글에 이어서 진행합니다.
13.2 실습예제
13.2.9 and, or 연산자
and 연산자
if [ A ] && [ B ]
if [ A && B ] → error
if [ A ] -a [ B ]
or 연산자
if [ A ] || [ B ]
if [ A ] -o [ B ]
공백에 주의해서 작성해야 함, if[A] → error
-s : 크기가 0이 아니면
then : 다음 라인에 작성하거나 ; 뒤에 작성
gedit andor.sh
#!/bin/sh
echo "input file name:"
read fname
if [ -f $fname ] && [ -s $fname ] ; then
head -5 $fname
else
echo "file not found or size 0"
fi
exit 0
chmod 755 andor.sh
./andor.sh
13.2.10 for 반복문
for 변수 in 값1 값2 값3 ...
do
반복할 문장
done
gedit forin1.sh
#!/bin/sh
hap=0
for i in 1 2 3 4 5 6 7 8 9 10
do
hap=`expr $hap + $i`
done
echo "sum =" $hap
exit 0
chmod 755 forin1.sh
./forin1.sh
13.2.11 while 반복문
while [ 조건식 ]
do
반복할 문장
done
gedit while1.sh
#!/bin/sh
while [ 1 ]
do
echo "centos 7"
done
exit 0
chmod 755 while1.sh
./while1.sh
종료하는 방법 : Ctrl + C
다른 터미널에서 종료(-9 강제종ㄹ)
프로세스ID를 찾음
ps -ef | grep while1.sh
위에서 찾은 프로세스ID를 입력
kill -9 프로세스ID
gedit bce.sh
#!/bin/sh
echo "input(b:break, c:continue, e:exit)"
while [ 1 ] ; do
read input
case $input in
b | B)
break;;
c | C)
echo "continue..."
continue;;
e | E)
echo "exit..."
exit 1;;
esac
done
echo "end..."
exit 0
chmod 755 bce.sh