![如何在 bash 脚本中获取当前月份名称](https://linux22.com/image/104405/%E5%A6%82%E4%BD%95%E5%9C%A8%20bash%20%E8%84%9A%E6%9C%AC%E4%B8%AD%E8%8E%B7%E5%8F%96%E5%BD%93%E5%89%8D%E6%9C%88%E4%BB%BD%E5%90%8D%E7%A7%B0.png)
在脚本中获取当前月份名称(例如 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
或bash
4.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}
的大小写。在 中,模式在所有地方都匹配,因此 中的整个字符串都是小写的。$parameter
pattern
${m,,}
$m
或者像在 中一样ksh
,预先将变量声明为小写:
typeset -l month
使用bash
s printf
,您可以使用以下命令自动将生成的字符串插入到标量变量 1 中-v
:
$ printf -v month '%(%b)T'
$ printf 'It is %s\n' "${month,,}"
It is dec
或元素钥匙 0
数组或关联数组变量的