[강좌][shell] 숫자 계산법에 대하여
======================================================================
SHELL PROGRAMMING [10] 숫자 계산법
본 강좌는 본인의 허락없이 무단 복사하거나 타 사이트에 등록하는것을
금지 합니다. – 서진우(alang at sysmng.com)
======================================================================
10.1 숫자 계산
쉘스크립터에서도 다른 프로그램언어와 같이 숫자 연산을 할수가 있다.
이때 사용되는 것이 expr 이다.
사용되는 연산자에는 + (더하기), – (빼기), * (곱하기), / (나누기),
% (나머지구함) 이 있다.
사용예 —————————————-
A=`expr $1 + $2 + \\( $3 * 3 \\)`
echo $A
———————————————–
위와 같이 사용하면 된다. 간단히 설명하면 argument로 받아들인 $1,$2,
$3 값을 연산하여 그 값이 A 라는 변수값이 되는것이다. 여기서 유의할
점은 괄호 ( )를 사용할수 있는데 괄호를 사용할때는 반드시 앞에 \\ 을
붙여주도록 한다.
예제 —————————————————
#!/bin/sh
chk=`date | awk ‘{print $3}’`
chk2=`expr chk % 2`
if [ $chk2 -eq “0” ]
then
tar czvf /backup/A/backup.tgz *
else
tar czvf /backup/B/backup.tgz *
fi
——————————————————-
위의 예제는 나머지 값(%)을 이용하여 홀수날과 짝수날을 구분하여
각각 다른 백업공간에 백업을 하도록 하는 스크립트 이다. 스크립트를
분석해 보면..
date 명령어를 사용하면 날짜가 출력되는데 출력된 항목중 3번째 항목
(일짜) 를 2로 나누어서 나머지값이 0 (짝수날) 일때는 /backup/A 디렉
토리에 데이타를 백업 시키고 그렇지 않으면 /backup/B 디렉토리에 백업
시키도록 한다.