독서에서또 다른 대답다음 명령을 사용하여 현재 내용을 인쇄할 수 있다는 것을 알고 있습니다.에포크 시간:
$ date +'%s'
1491150773
독서부터date(1)
매뉴얼 페이지(참고: 저는 실제로 macOS를 사용합니다)에서 사용법을 보여주는 예를 찾았습니다.
Finally the command: date -j -f "%a %b %d %T %Z %Y" "`date`" "+%s" can be used to parse the output from date and express it in Epoch time.
+
예제를 읽어보면 다음과 같이 작은따옴표 안에 넣을 수 있는 것 같습니다 .
$ date '+%s'
1491150781
현재 에포크 시간을 성공적으로 인쇄할 수 있지만 왜 작동하는지 이해하지 못하며 몇 가지 문제가 있습니다.
date +'%s'
현재 시대 시간을 인쇄하는 이유는 무엇입니까 ? 이 예에서 사용 패턴을 보여주는 보다 일반적인 예가 있습니까?+
왜 따옴표 안에 따옴표를 넣을 수 있나요 ?
나는 명령을 넣어 보았습니다.쉘 해석, 하지만 별로 도움이 되지 않습니다.
답변1
BSD 날짜와 GNU 날짜는 모두 다음과 같은 형식을 갖습니다.
date +FORMAT
with는 FORMAT
날짜를 표시하기 위한 출력 형식 문자열입니다. 따라서 입력해야 할 것은 date
으로 시작하는 문자열뿐입니다 +
.
문자열은 쉘에 전달되기 전에 date
쉘에 의해 해석됩니다 . 따라서 +%s
둘 중 하나 +'%s'
또는 "+%s"
둘 다 동일하며 모든 POSIX 쉘에서 있는 그대로 해석됩니다.
유일한 장점 +'%s'
은 걱정할 필요 없이 어떤 문자열 형식이 사용되는지 빠르게 감지하거나 복사 및 구문 분석할 수 있다는 것입니다 +
.
또한 +'FORMAT'
쉘 확장으로 해석될 수 있는 일부 특수 형식을 사용할 때 도움이 될 것입니다. 예 zsh
:
date +'(%s)'
다음과 같은 동안 작동합니다:
date +(%s)
습관.