我有一个通过 3 个单独的命令行参数输入到 bash 脚本中的日期。 用户可以输入 1 或 2 位数字表示月份和日期,输入 4 位数字表示年份(例如。 2014 01 01
或2014 1 1
)。 但是我的脚本需要两位数才能运行。 我正在考虑使用 if 语句来处理这个问题。 它基本上会说"如果月份中的位数小于 2,则在其前面放置一个前导零"。虽然,我不确定如何确定 bash 中的位数。我对脚本很陌生,所以任何帮助将不胜感激!
您可以使用
printf
命令解决此问题:
month=5
month2=`printf %02d $month`
如有必要,%02d
格式说明符$month
格式设置为带有前导零的两个十进制数字。
对于任何 bash 变量$x
(包括参数 $1
、$2
等),${#x}
是$x
的长度(以字符为单位)。