![날짜 명령의 시간대 조정을 문자열로 어떻게 묶을 수 있습니까?](https://linux55.com/image/155810/%EB%82%A0%EC%A7%9C%20%EB%AA%85%EB%A0%B9%EC%9D%98%20%EC%8B%9C%EA%B0%84%EB%8C%80%20%EC%A1%B0%EC%A0%95%EC%9D%84%20%EB%AC%B8%EC%9E%90%EC%97%B4%EB%A1%9C%20%EC%96%B4%EB%96%BB%EA%B2%8C%20%EB%AC%B6%EC%9D%84%20%EC%88%98%20%EC%9E%88%EC%8A%B5%EB%8B%88%EA%B9%8C%3F.png)
Bash 쉘 스크립트에서 다른 시간대의 날짜와 시간을 출력하려고 합니다. 다음과 같은이 문제, 나는 이걸했다:
#!/usr/bin/env bash
IL=":Asia/Jerusalem" date "+%a %b %d %R"
echo "Israel: $IL"
출력은 다음과 같습니다.
Wed Jun 19 15:12
Israel:
해당 시간대에 대한 시간이 정확하지 않을 뿐만 아니라 출력이 두 줄에 잘못 표시됩니다.
다음과 같이 출력하고 싶습니다.
Israel: Wed Jun 19 23:12
다른 스크립트에서는 기본 시간대가 괜찮습니다(예: .xinitrc
my 에 현재 시스템 시간 표시). 저는 다음을 수행했습니다.
date_str="$(date +"%a %b %d %R")";
topbar="Time: $date_str";
xsetroot -name "$top_bar";
이번에는 내가 뭘 잘못한 걸까?
답변1
명령 의 환경 변수 TZ=
에 시간대를 할당하는 부분이 누락되었습니다 .TZ
date
TZ='Asia/Jerusalem' date '+%a %b %d %R'
귀하가 연결한 질문에는 이에 대한 매우 자세한 설명이 있습니다.
이 출력을 변수에 할당하려면 다음을 사용해야 합니다.명령 대체:
IL=$(TZ='Asia/Jerusalem' date '+%a %b %d %R')