如何在 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"

或者,使用printfksh93bash4.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数组或关联数组变量的

相关内容