반응형
회사 업무중에 사용되는 Shell Script에 대해서 하나하나 예제를 통해 알아보도록 하자.

실제 파견업무를 나와서 혼자 Shell Script를 짤려니, 기존에 다른사람이 짜놓은것을 이용하지 않고 맨땅에 해딩을 너무 하게 되었다. 하나하나 알아보자.

[1] 현재 파일이 존재하는지 체크하는 방법

if [ -f $LOGFILE ]          ==> 파일이 있는지 체크.
      then 
           echo "File is Exists"
           >> $LOGFILE     ==> 없는경우 >> redirect를 통해 파일생성
else
           echo "File is Not Exists"

설명 : Shell Script의 if문은 별도 설명하지 않겠다. 옵션만 본다면 위 코드가 이해가 될것이다.

-b 파일 : 파일이 블럭장치 파일이면 참.
-c 파일 : 파일이 문자 장치이면 참
-d 파일 : 파일이 문자 장치이면 참
-e 파일 : 파일이 문자 장치이면 참
-f 파일 : 파일이 문자 장치이면 참
-L 파일 : 파일이 문자 장치이면 참
-p 파일 : 파일이 문자 장치이면 참
-S 파일 : 파일이 문자 장치이면 참
-r 파일 : 파일이 문자 장치이면 참
-s 파일 : 파일이 문자 장치이면 참
-w 파일 : 파일이 문자 장치이면 참
-x 파일 : 파일이 문자 장치이면 참

[2] 파일의 내용을 읽어와서 특정 C프로그램으로 아규먼트로 넘겨주는 방법

 
  1 #!/bin/bash
  2
  3 gcc ./decrypt.c
  4
  5 LOGFILE=result.log
  6
  7 FILE=password.txt
  8
  9 TIME=`date +%Y/%m/%d/%H:%M:%S`
 10
 11 echo "==================== START ======================" >> $LOGFILE
 12 echo "PROGRAM START=$TIME" >> $LOGFILE
 13 cat $FILE | \
 14 while read line
 15 do
 16    ID=`echo $line | awk -F'|' '{print $1}'`
 17
 18    PS=`echo $line | awk -F'|' '{print $2}'`
 19
 20    TIME1=`date +%Y/%m/%d/%H:%M:%S`
 21    echo "=================================" >> $LOGFILE
 22    echo "START=$TIME1" >> $LOGFILE
 23    echo "$ID|$PS" >> $LOGFILE
 24
 25 for ((i=0;i<10000;i++)); do
 26     echo $i
 27 done
 28
 29
 30    ./a.out $PS 2>&1 >> $LOGFILE
 31    TIME2=`date +%Y/%m/%d/%H:%M:%S`
 32    echo "END=$TIME2" >> $LOGFILE
 33
 34 done
 35
 36 TIME3=`date +%Y/%m/%d/%H:%M:%S`
 37 echo "PROGRAM END=$TIME3" >> $LOGFILE
 38 echo "==================== END ======================" >> $LOGFILE


반응형

'Server > Linux' 카테고리의 다른 글

Linux Os Kernel Version 정보 확인방법  (0) 2010.06.15
APM 설치하기 가이드  (0) 2010.06.04
NCFTP 사용법 설명  (0) 2010.04.25
VIMRC 파일 설정방법  (0) 2010.01.29
Ubuntu SVN 설치 / 운영  (0) 2010.01.19

+ Recent posts