리눅스 분류
crontab 등록해서 돌리는 shell과 직접 실행한 shell 에 실행결과가 다름?
작성자 정보
- 박진현 작성
- 작성일
컨텐츠 정보
- 2,043 조회
- 1 댓글
- 0 추천
-
목록
본문
안녕하세요..
여기 고수님들께 질문 하나 올립니다.
요약하면 crontab 에 등록해서 1분마다 자동으로 실행된 결과와,
그 해당쉘을 직접 수행했을 결과가 서로 차이가 나는 이유가 궁금합니다..
crontab -e 내용
* * * * * /home/egate/jhp/test.sh
misdv00:[/home/egate/jhp] cat test.sh
date=`date "+%x %X"`
echo "$date" >> /home/egate/jhp/imsi.log
misdv00:[/home/egate/jhp] /home/egate/jhp/test.sh
misdv00:[/home/egate/jhp] /home/egate/jhp/test.sh
misdv00:[/home/egate/jhp] cat /home/egate/jhp/imsi.log
2007년1월18일 (목) 오후 4시59분22초
2007년1월18일 (목) 오후 4시59분23초
01/18/07 17:00:00
01/18/07 17:01:00
01/18/07 17:02:00
관련자료
-
이전
-
다음
댓글 1
노영석님의 댓글
- 노영석
- 작성일
date의 실행결과가 다르게 나오는 이유는 로케일 차이 때문입니다.
한글로 나오는 경우는 로케일이 ko_KR.EUC-KR로 되있는 경우이고
그렇지 않은 경우는 로케일이 ko_KR.EUC-KR이외의 것으로 되어있는
경우입니다.
로그인한 유저의 쉘환경에 따라 로케일이 다르면 그렇수 있는데
cron의 경우는 모르겠네요.
locale 엔터하면 다음과 같은 화면을 보실수 있습니다.
이 경우는 LANG=ko_KR.EUC-KR 이지요.
date의 결과가 한글로 나올 겁니다.
export LANG=ko_KR.UTF-8또는
export LANG=en_US.UTF-8하면 한글없이 출력될겁니다.
LANG=ko_KR.EUC-KR
LC_CTYPE="ko_KR.EUC-KR"
LC_NUMERIC="ko_KR.EUC-KR"
LC_TIME="ko_KR.EUC-KR"
LC_COLLATE="ko_KR.EUC-KR"
LC_MONETARY="ko_KR.EUC-KR"
LC_MESSAGES="ko_KR.EUC-KR"
LC_PAPER="ko_KR.EUC-KR"
LC_NAME="ko_KR.EUC-KR"
LC_ADDRESS="ko_KR.EUC-KR"
LC_TELEPHONE="ko_KR.EUC-KR"
LC_MEASUREMENT="ko_KR.EUC-KR"
LC_IDENTIFICATION="ko_KR.EUC-KR"
LC_ALL=
한글로 나오는 경우는 로케일이 ko_KR.EUC-KR로 되있는 경우이고
그렇지 않은 경우는 로케일이 ko_KR.EUC-KR이외의 것으로 되어있는
경우입니다.
로그인한 유저의 쉘환경에 따라 로케일이 다르면 그렇수 있는데
cron의 경우는 모르겠네요.
locale 엔터하면 다음과 같은 화면을 보실수 있습니다.
이 경우는 LANG=ko_KR.EUC-KR 이지요.
date의 결과가 한글로 나올 겁니다.
export LANG=ko_KR.UTF-8또는
export LANG=en_US.UTF-8하면 한글없이 출력될겁니다.
LANG=ko_KR.EUC-KR
LC_CTYPE="ko_KR.EUC-KR"
LC_NUMERIC="ko_KR.EUC-KR"
LC_TIME="ko_KR.EUC-KR"
LC_COLLATE="ko_KR.EUC-KR"
LC_MONETARY="ko_KR.EUC-KR"
LC_MESSAGES="ko_KR.EUC-KR"
LC_PAPER="ko_KR.EUC-KR"
LC_NAME="ko_KR.EUC-KR"
LC_ADDRESS="ko_KR.EUC-KR"
LC_TELEPHONE="ko_KR.EUC-KR"
LC_MEASUREMENT="ko_KR.EUC-KR"
LC_IDENTIFICATION="ko_KR.EUC-KR"
LC_ALL=