표현식에 변수 값 추가

표현식에 변수 값 추가

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

관련 정보