![환경 변수 시작 부분의 경로 구분 기호는 무엇을 합니까?](https://linux55.com/image/9565/%ED%99%98%EA%B2%BD%20%EB%B3%80%EC%88%98%20%EC%8B%9C%EC%9E%91%20%EB%B6%80%EB%B6%84%EC%9D%98%20%EA%B2%BD%EB%A1%9C%20%EA%B5%AC%EB%B6%84%20%EA%B8%B0%ED%98%B8%EB%8A%94%20%EB%AC%B4%EC%97%87%EC%9D%84%20%ED%95%A9%EB%8B%88%EA%B9%8C%3F.png)
내가 읽고있다파일사용된 프로그램에서 불필요한 시스템 호출을 TZ
피하기 위해 이 변수를 설정하는 것이 좋습니다 . 다음 구문을 사용합니다.stat
localtime
TZ=:/etc/localtime
문서에 설명된 트릭은 작동하지만 콜론 없이도 작동합니다 TZ=/etc/localtime
.
여기서 목적은 무엇입니까 :
?
답변1
TZ
이것은 변수에 있어서 특별한 일이라는 것이 밝혀졌습니다 . 이 동작은 다음과 같이 기록됩니다.man tzset
(강조):
두 번째 형식은 시간대 정보를 파일에서 읽어야 함을 지정합니다.
:[filespec]
filespec이 생략되거나 해당 값을 해석할 수 없는 경우 UTC(협정 세계시)가 사용됩니다. filespec이 주어지면, 시간대 정보를 읽을 tzfile(5) 형식의 다른 파일을 지정합니다. filespec이 "/"로 시작하지 않는 경우 filespec은 시스템 시간대 디렉토리를 기준으로 합니다. 콜론을 생략하면 위의 각 TZ 형식이 시도됩니다.
다음은 뉴질랜드의 예입니다.
TZ=":Pacific/Auckland"
위의 내용을 올바르게 이해하면 둘 다 말씀하신 대로 작동하지만 TZ=:/etc/localtime
생략하면 시스템은 제공한 내용을 허용하는 다양한 형식으로 구문 분석하려고 시도합니다. 나TZ=/etc/localtime
:
생각하다여기에는 실시간 정의가 포함됩니다(동일 매뉴얼 페이지에서 추가 내용 참조).
따라서 the를 사용하는 것은 제공하는 내용을 해석하는 데 신경쓰지 말고 직접 파일로 처리하라는 :
의미입니다 .tzset