bash 스크립트에서 타임 스탬프 변수 만들기
로깅을 조금 더 쉽게하기 위해 쉘 스크립트에서 타임 스탬프 변수를 만들려고합니다. 스크립트 시작 부분에 변수를 작성하고 발행 할 때마다 현재 시간을 인쇄하려고합니다 echo $timestamp
. 생각보다 힘들다는 것이 증명되었습니다. 내가 시도한 몇 가지 사항은 다음과 같습니다.
timestamp="(date +"%T")"
에코가 출력됩니다 (date +"%T")
timestamp="$(date +"%T")"
echo는 변수가 초기화 된 시간을 인쇄합니다.
내가 시도한 다른 것은 더 이상 작동하지 않는 약간의 변형입니다. 누구든지 내가하려는 일을 성취하는 방법을 알고 있습니까?
고정 변수가 정의 된 시간이 아닌 현재 타임 스탬프를 얻으려면 변수가 아닌 함수를 사용하는 것이 좋습니다 .
#!/bin/bash
# Define a timestamp function
timestamp() {
date +"%T"
}
# do something...
timestamp # print timestamp
# do something else...
timestamp # print another timestamp
# continue...
%T
지정자가 제공 한 형식이 마음에 들지 않으면에서 허용하는 다른 시간 변환 지정자를 결합 할 수 있습니다 date
. GNU의 date
경우 공식 문서에서 https://www.gnu.org/software/coreutils/manual/html_node/Time-conversion-specifiers.html#Time-conversion-specifiers 에서 이러한 지정자의 전체 목록을 찾을 수 있습니다.
유닉스 타임 스탬프를 얻으려면 다음을 사용해야합니다.
timestamp=$(date +%s)
%T
당신에게 시간을 줄 것입니다; %H:%M:%S
( http://www.cyberciti.biz/faq/linux-unix-formatting-dates-for-display/ 를 통해 ) 와 동일
DATE=`date "+%Y%m%d"`
DATE_WITH_TIME=`date "+%Y%m%d-%H%M%S"` #add %3N as we want millisecond too
ISO 8601 형식 ( 2018-12-23T12:34:56
)은 UNIX 타임 스탬프보다 읽기 쉽습니다. 그러나 일부 OS :
에서는 파일 이름을 가질 수 없습니다 . 따라서 대신 다음과 같은 것을 사용하는 것이 좋습니다.
2018-12-23_12-34-56
다음 명령을 사용하여이 형식의 타임 스탬프를 얻을 수 있습니다.
date +%Y-%m-%d_%H-%M-%S
이것은 많은 응용 프로그램에서 사용하는 형식입니다. 이것에 대한 또 다른 좋은 점은 파일 이름이 이것으로 시작하면 알파벳순으로 정렬 할 수 있으며 날짜순으로 정렬된다는 것입니다.
명령 대체를 사용하십시오.
timestamp=$( date +%T )
우분투 14.04를 사용하고 있습니다.
내 시스템의 올바른 방법은입니다 date +%s
.
의 출력 date +%T
은 같습니다 12:25:25
.
당신이 사용할 수있는
timestamp=`date --rfc-3339=seconds`
이것은 형식으로 제공 2014-02-01 15:12:35-05:00
백틱 ( `
) 문자는 그 사이에있는 것을 평가하여 결과를 줄에 포함시킵니다. date --help
다른 옵션이 있습니다.
최신 버전의 bash
외부 프로그램을 호출하지 않아도됩니다 date
.
printf -v timestamp '%(%T)T'
%(...)T
해당 인수를 UNIX 타임 스탬프로 사용하고 strftime
괄호 사이의 -style 형식 에 따라 형식을 지정합니다. 인수는 -1
현재 시간 에 해당하며 모호성이 없을 때 생략 할 수 있습니다.
timestamp=$(awk 'BEGIN {srand(); print srand()}')
값이없는 srand는 대부분의 Awk 구현에서 현재 시간 소인을 사용합니다.
참고 URL : https://stackoverflow.com/questions/17066250/create-timestamp-variable-in-bash-script
'Programming' 카테고리의 다른 글
svn 'out of date'오류를 어떻게 극복합니까? (0) | 2020.03.05 |
---|---|
"예", "아니오"선택 사항 및 DialogResult로 메시지 상자를 작성하는 방법 (0) | 2020.03.05 |
실행중인 컨테이너에서 쉘 세션을 시작할 수 있습니까 (ssh없이) (0) | 2020.03.05 |
한 번에 모든 MySQL 데이터베이스 내보내기 및 가져 오기 (0) | 2020.03.05 |
객체 배열에서 속성의 최대 값 찾기 (0) | 2020.03.05 |