确定bash的位数

时间:2015-04-21 02:13:09

标签: bash unix command-line scripting arguments

我有一个日期通过3个单独的命令行参数输入到bash脚本中。用户可以为月份和日期输入1或2位数,为年份输入4位数(例如2014 01 012014 1 1)。但我的脚本需要两位数才能运行。我正在考虑使用if语句来处理这个问题。它基本上会说“如果月份中的数字位数小于2,那么在它前面放一个前导零”。虽然,我不确定如何确定bash中的位数。我对脚本非常陌生,所以任何帮助都会非常感激!

2 个答案:

答案 0 :(得分:0)

对于任何bash变量$x(包括参数$1$2等),${#x}是字符$x的长度。

答案 1 :(得分:0)

您可以使用printf命令解决此问题:

month=5
month2=`printf %02d $month`

%02d格式说明符将$month格式化为两位十进制数字,必要时带前导零。