Bash 스크립트에서 현재 월 이름을 얻는 방법

Bash 스크립트에서 현재 월 이름을 얻는 방법

스크립트에서 현재 월 이름(예: jan 또는 feb)을 가져오는 구문은 무엇입니까 bash?

답변1

이 명령을 사용할 수 있습니다 date(1).

예를 들어:

date +%b

답변2

strftime(3)설명서( ) 가 시스템에 설치되어 있는 경우 설명서에는 man 3 strftime이 유틸리티 date%(...)T함께 ​​사용할 수 있는 모든 형식 문자열이 나열되어 있습니다 printf. 명령 매뉴얼에는 date지원되는 형식 문자열이 포함될 수도 있습니다.

%b("로캘의 약식 월 이름") 또는 ("로캘의 전체 월 이름") 중 하나를 사용하려면 %B다음 +옵션을 사용할 수 있습니다 date.

$ date +%B
December

$ date +%b
Dec

$ date +'%B is abbreviated as "%b"'
December is abbreviated as "Dec"

또는 printf( ksh93또는 bash4.3+)을 사용하십시오.

$ printf '%(%B)T\n'
December

$ printf '%(%b)T\n'
Dec

$ printf '%(%B is abbreviated as "%b")T\n'
December is abbreviated as "Dec"

소문자 약어로 된 월을 얻으려면 bash(로케일이 항상 소문자 월 이름을 제공하지 않는 경우):

$ month=$( date +%b )
$ printf 'It is %s\n' "${month,,}"
It is dec

${parameter,,pattern}매개변수 확장은 일치하는 경우를 수정합니다 . 에서는 패턴이 모든 곳에서 일치하므로 의 전체 문자열은 소문자입니다.$parameterpattern${m,,}$m

또는 에서와 같이 ksh변수를 소문자로 미리 선언합니다.

typeset -l month

bashs 를 사용하면 printf생성된 문자열을 다음을 사용하여 스칼라 변수 1에 자동으로 삽입할 수 있습니다 -v.

$ printf -v month '%(%b)T'
$ printf 'It is %s\n' "${month,,}"
It is dec

또는 요소열쇠 0배열 또는 연관 배열 변수

관련 정보