例如,代码如下:
#!/bin/bash
s=00
until [ $s -eq 60 ]
do
let "s += 1"
echo $s
done
$s 将是 1、2、3 等,但不是 01、02、03 等。我该如何避免删除 0?因此,我需要 $s 为 01-09,然后是 10、11 等。
答案1
打印时添加零。
#!/usr/bin/env bash
s=0
until ((++s == 60 )); do
printf '%02d\n' "$s"
done
带有前导零的数字将被视为八进制,因此 08 和 09 等值将失败。因此,最好对没有前导零的数字进行操作,并且仅在需要打印时添加前导零。