我有一些变量可以在我的脚本中检查,并以" 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语句?
答案 0 :(得分:3)
printf -v count_dev_nn '%02d' "${#dev_nn[@]}"
使用printf '%02d'
将数字填充为两位数,使用printf -v
将结果分配给另一个变量。无需if
声明。
如果您打算最终打印出来,您甚至可以摆脱-v count_dev_nn
。