쉘 스크립트 관련 질문입니다.
글쓴이: mooshick / 작성시간: 목, 2005/07/28 - 3:53오후
안녕하세요
리눅스를 조금 만지다보니 쉘스크립트의 필요성이 슬슬 보이기 시작해서
몇일전에 입문했습니다
이제 간단한 스크립트는 읽으면 뭔 내용인지 알정도는 되었는데요
문제가 하나 생겼습니다. 예제파일중에 이런것이 있는데요
#!/bin/sh
logfile="/var/log/httpd/access_log"
mv ${logfile} ${logfile}-'date '+%Y%m%d''
apachectl graceful
exit 0
보시면 access_log파일이 access_log-오늘 년월일
이렇게 되어야 하는데
그냥access_log-date +%Y%m%d
이런식으로 저장이 되어버립니다.
access_log-20050728 이런식으로 년월일이 붙게 하려면
어찌해야 할까요? 예제 보면서 하는데.. 이부분만 안풀립니다.
Forums:
간단히 생각하세요.shell script는 명령어 조합입니다. 단
간단히 생각하세요.
shell script는 명령어 조합입니다. 단지 ` ` 차이와 ' ' 차이 그리고 "" 차이만
알고 계시면 됩니다.
위의 내용중에서 mv ${logfile} ${logfile}-'date '+%Y%m%d'' 를
mv ${logfile} ${logfile}-`date +%F` 혹은
mv ${logfile} ${logfile}-`%Y%m%d` 와 같이 하시면 됩니다
참고로 `` (역 작은 따옴표) 는 실행 명령을 받는 것입니다 같은 거로는
$( 명령어 ) 가 있습니다.
두번째 ' ' (작은 따옴표) 는 모든걸 그대로 문자열로 받아 들입니다.
세번째 "" 는 문자열로 치환하는 예입니다
간단히 echo ` date ` 라고 출력하시면 현재 날짜가 나옵니다
echo 'date ' 라고 하면 date 라고 나옵니다
echo "date " 라고 해도 역시 date 가 나옵니다
그런데 echo '$date' 라고 하면 $date 가 출력되지만
echo "$date" 라고 하면 $date 변수 내용이 출력됩니다
참고하세용~~
감사합니다.
그렇게 틀리군요.. 문법부터 다시 해야게습니다..
댓글 달기