2017-07-27 64 views
1

我有一些变量需要检查我的脚本,如果只有一个字符,则前缀为“0”。变量和if语句的聚合赋值

这是我的代码:

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

(多次调用任何不同的数_ * _ NN变量)

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

+0

'echo'是不必要的:'count_dev_nn = $ {#dev_nn [@]}''。 – chepner

回答

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

使用printf '%02d'到焊盘上的编号,以两位数字,printf -v分配结果到另一个变量。否需要if声明。

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