- 주석(#)
ex) ### 기존 Work 영역의 큐브를 삭제한다.
- 변수($)
ex) 지정할 때 : PRONO=`date '+%Y%m%d%H%M%S'`
사용할 때 : PRONO=$PRONO$#
※주의사항: '=' 좌우에 공백이 있어서는 안된다.
- 출력(echo)
ex) echo "[$PRONO `date '+%Y/%m/%d %H:%M:%S'`] Accept arguments : $*"
- 분기처리(if ~ fi)
ex) if [ "$CREATECUBE" = "Inite" ]
then
CREATECUBE="Y"
elif [ "$CREATECUBE" = "Incre" ]
then
CREATECUBE="N"
else
echo "[$PRONO `date '+%Y/%m/%d %H:%M:%S'`] Cube Building Option Error #2 [ $2 ]"
exit 1
fi
- 삭제(rm)
ex) rm -rf $WORKDIR/$CUBEID*
-d : 비어 있지 않은 디렉토리도 지움
-f : 존재하지 않거나 이미 지워진 파일은 무시하고 다음으로 넘어감
-i : 지우기 전에 파일을 지울 것인지 물어봄
-r : 하위 디렉토리 까지 모두 지움
-v : 무엇을 지웠는지 알려줌
- 복사(cp)
ex) cp -rf $BACKUPDIR/$CUBEID$VCD $WORKDIR/$CUBEID$VCD
-I : 복사에 대한 실행여부 물음
-f : 강제 복사
-r : 하위 디렉토리와 파일 모두 복사
-v : 복사 진행 상태 출력
-a : 원본 파일의 속성, 링크 정보 유지 복사
- 이동(mv)
ex) mv $INCREMODELDIR/$CUBEID$MODEL $INCREMODELDIR/$CUBEID$MODEL$GUBUN$VER1
- 반복(while)
ex) while [ $days -ge 0 ]
do
del_date=$(/dw_app/cognos10/05_script/caljd.sh -y -s $(/dw_app/cognos10/05_script/caljd.sh -p $days))
echo $CUBE_DIR/$del_date$FILE_EXT
rm -rf $CUBE_DIR/$del_date$FILE_EXT
if [ $? -ne 0 ]
then
echo "[$PRONO `date '+%Y/%m/%d %H:%M:%S'`] Sub Cubee Delete Error [ rm -rf $CUBE_DIR/$del_month$FILE_EXT ]"
exit 1
fi
days=`expr $days - 1`
done
- 비교
※주의사항: [ 뒤와, ] 앞에는 반드시 공백이 있어야 한다.
[ $A -eq $B ] A와B의 값이 같은 경우
[ $A -ne $B ] A와B의 값이 다른 경우
[ $A -gt $B ] A가B보다 큰경우
[ $A -lt $B ] A가B보다 작은경우
[ $A -ge $B ] A가B보다 크거나 같은 경우
[ $A -le $B ] A가B보다 작거나 같은 경우
[ -s 파일명 ] 파일이 존재하면서 크기가 0보다 큰경우
[ -f 파일명 ] 디렉토리가 아닌 파일일경우 (크기 0인 경우 포함)
[ -d 디렉토리 ] 파일이 아닌 디렉토리인 경우
[ -w 파일명 ] 쓰기가 가능한 경우
[ -r 파일명 ] 읽기가 가능한 경우
[ ! -option 파일명 ] 옵션의 조건이 거짓이 되는 경우
[ "문자열1" = "문자열2" ] 두문자열이 같은 경우
[ "문자열1" != "문자열2" ] 두문자열이 다른 경우
[ -z "문자열" ] 문자열이 길이가 0인 경우
[ -n "문자열" ] 문자열이 길이가 0이 아닌 경우
- 문자열 패턴 검색(grep)
-c : 패턴이 일치하는 행의 수를 출력
-i : 비교시 대소문자를 구별 안함
-v : 지정한 패턴과 일치하지 않는 행만 출력
-n : 행의 번호를 함께 출력
-l : 패턴이 포함된 파일의 이름을 출력
-w : 패턴이 전체 단어와 일치하는 행만 출력
댓글 없음:
댓글 쓰기