표현식에 변수 값 추가

표현식에 변수 값 추가

Ubuntu Mate 20.04에서 일부 미래 날짜를 신기원 번호로 변환하려고 합니다.

그래서 저는 다음과 같은 코드를 작성하기로 결정했습니다.

daysAmount="10"   
endDate=$(date +"%b %_d %Y" -d "+$daysAmount days")   
epochNum=$(date -d "$endDate" +%s)  

처음 두 줄은 잘 실행되지만 어떤 정보도 얻지 못합니다 epochNum=.

$(date)저처럼 안에 다른 변수를 써도 될까요? 그렇지 않다면 어떻게 해야 이 작업을 수행할 수 있습니까?

나도 그것을 시도했지만 endDate=$(date +"%b %_d %Y" -d "+$daysAmount days" +%s)그것도 작동하지 않았습니다.

답변1

임시 로케일을 사용하여 명령을 실행할 수 있습니다. 이렇게 하면 문제가 해결됩니다.

daysAmount="10"   
endDate=$(LC_ALL=C date +"%b %_d %Y" -d "+$daysAmount days")   
epochNum=$(LC_ALL=C date -d "$endDate" +%s)  

답변2

그것이 작동하도록 노력하십시오.

에포크로 변환하기 전에 날짜 언어를 확인하세요. 설치 이름이 여기의 "date" 명령 예와 같이 미국 알파벳과 다른 경우:

1.11.2021 (пн) 14:47:59 EET

변환이 작동하지 않습니다.

다른 컴퓨터에서는 "날짜"가 다음과 같이 표시됩니다(미국 알파벳).

Mon Nov  1 14:47:45 EET 2021

코드가 잘 실행되네요


다양한 언어 기계에서의 작업 예제는 다음을 참조하세요. https://unix.stackexchange.com/a/675661/499362

관련 정보