Posted on 2004/07/05 12:06
Filed Under 프로그래밍/쉘프로그램 조회수:

======================================================================

               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 디렉토리에 백업
시키도록 한다.


* 서진우님에 의해서 게시물 복사되었습니다 (2004-10-07 16:03)
Writer profile
author image
-아랑 -

트랙백 주소 : 이 글에는 트랙백을 보낼 수 없습니다

About

by 서진우

Counter

· Total
: 4610715
· Today
: 183
· Yesterday
: 757