본문 바로가기
Research/SystemProg

export LC_ALL=C

by sunnyan 2012. 1. 26.
728x90
grep 등을 이용하여 패턴 검색을 할때, 예를 들어 아래 쉘스크립트와 같은 경우,

rev=`svn info 2>/dev/null`
rev=`echo "${rev}" | grep '^Revision' | awk '{print $NF}'`
설정된 로케일이 영문으로 설정된 경우는 문제없겠지만, 아래와 같이 한글로 설정된 경우에는 위 스크립트는 정상적으로 동작이 안될 것이다.

sunny@sunny-desk:~/project/01_WBS/0.2$ svn info
 경로: .
URL: https://svnhost/svn/ProjectRepo/trunk
저장소 루트: https://svnhost/svn/ProjectRepo
저장소 UUID: 0af9682f-c0b8-1742-9153-f717f418bd9a
리비전: 13
노드 종류: 디렉토리
스케쥴: 일반
마지막 수정 작업자: sunny
마지막 수정 리비전: 13
마지막 수정 일자: 2012-01-17 20:58:14 +0900 (2012-01-17, 화)

따라서, 시스템 로케일이 한글이 경우에도 쉘스크립트가 제대로 동작되게 하려면, 아래와 같이 export LC_ALL=C을 추가하면 된다.

export LC_ALL=C
rev=`svn info 2>/dev/null`
rev=`echo "${rev}" | grep '^Revision' | awk '{print $NF}'`


 sunny@sunny-desk:~/project/01_WBS/0.2$ svn info
Path: .
URL: https://svnhost/svn/ProjectRepo/trunk
Repository Root: https://svnhost/svn/ProjectRepo
Repository UUID: 0af9682f-c0b8-1742-9153-f717f418bd9a
Revision: 13
Node Kind: directory
Schedule: normal
Last Changed Author: sunny
Last Changed Rev: 13
Last Changed Date: 2012-01-17 20:58:14 +0900 (Tue, 17 Jan 2012)







728x90