汇总赋值变量和if语句

时间:2017-07-27 17:31:26

标签: arrays bash

我有一些变量可以在我的脚本中检查,并以" 0"如果其中只有一个字符。

这是我的代码:

count_dev_nn=`echo "${#dev_nn[@]}"`
if [ ${#count_dev_nn} -eq 1 ]; then
        count_dev_nn="0"${count_dev_nn}
fi

(对于任何不同的计数_ * _nn变量,多次调用)

有没有办法在一条线上做到这一点?为了避免为每个var重复if语句?

1 个答案:

答案 0 :(得分:3)

printf -v count_dev_nn '%02d' "${#dev_nn[@]}"

使用printf '%02d'将数字填充为两位数,使用printf -v将结果分配给另一个变量。无需if声明。

如果您打算最终打印出来,您甚至可以摆脱-v count_dev_nn