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