반응형
회사 업무중에 사용되는 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 |