【问题标题】:Determine number of digits bash确定位数bash
【发布时间】:2015-06-27 23:49:26
【问题描述】:

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

【问题讨论】:

    标签: bash unix command-line scripting arguments


    【解决方案1】:

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

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

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 2012-07-13
        • 2017-11-22
        • 2014-11-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-03-08
        • 1970-01-01
        相关资源
        最近更新 更多