date 명령을 사용하는 데 문제가 있습니다. 다음을 실행하면 오류가 발생합니다.
danilo@desktop:~$ x=$(date -d "+60 seconds"); dt=$(date -d "$x")
date: invalid date ‘Mo 11. Sep 09:07:05 CEST 2017’
내가 테스트한 다른 컴퓨터에서도 작동하기 때문에 이것은 이상합니다. 아니면 이것도:
danilo@desktop:~$ x=$(date); dt=$(date -d "$x")
date: invalid date ‘Mo 11. Sep 09:06:43 CEST 2017’
오류가 발생합니다.
이 오류의 이유는 무엇입니까? 시간대 설정인가요? 어떻게 작동하게 할 수 있나요?
답변1
현재로서는 해당 로케일의 기본 형식이 입력으로 지원되지 않습니다. 해결책은 표준 형식을 사용하는 것입니다. 예를 들어:
x=$(date -d "+60 seconds" +%s); dt=$(date -d "@$x")
+%s
date
표준 Unix 형식(epoch 이후 초)을 반환하도록 지시합니다 .
로그인 @
지침은 이를 에포크 이후의 초 수로 date -d "@$x"
해석합니다 .date
$x