Arrays 变量和if语句的聚合赋值

Arrays 变量和if语句的聚合赋值,arrays,bash,Arrays,Bash,我有一些变量要在脚本中进行检查,如果脚本中只有一个字符,则用“0”作为前缀 这是我的代码: count_dev_nn=`echo "${#dev_nn[@]}"` if [ ${#count_dev_nn} -eq 1 ]; then count_dev_nn="0"${count_dev_nn} fi (针对任何不同的计数变量调用多次) 有没有一种方法可以在一条线上完成?为了避免对每个变量重复if语句 printf -v count_dev_nn '%02d' "${#dev

我有一些变量要在脚本中进行检查,如果脚本中只有一个字符,则用“0”作为前缀

这是我的代码:

count_dev_nn=`echo "${#dev_nn[@]}"`
if [ ${#count_dev_nn} -eq 1 ]; then
        count_dev_nn="0"${count_dev_nn}
fi
(针对任何不同的计数变量调用多次)

有没有一种方法可以在一条线上完成?为了避免对每个变量重复if语句

printf -v count_dev_nn '%02d' "${#dev_nn[@]}"
使用
printf“%02d”
将一个数字填充为两位数,并使用
printf-v
将结果分配给另一个变量。如果需要声明,则无


如果你最终要把它打印出来,你甚至可以去掉
-v count\u dev\u nn

echo
是不必要的:
count\u dev\u nn=${dev\u nn[@]}