所以我是bash的新手,我必须编写一个脚本,其中包括动态回显带有更改时间戳HH:m m的行。
所以当我说
上海运行。上海03:40 05:40
它应该在给定范围内一直回响
例:03:31 03:32。。。。。。。。05:39 05:40
我知道循环很简单,但我想不通,有什么帮助吗?
我有一个不太好的代码,到目前为止还不能工作。

echo "Enter from Hour:"
read fromhr
echo "Enter from Min:"
read frommin
echo "Enter to Hour:"
read tohr
echo "Enter to Min:"
read tomin
while [  $fromhr -le $tohr ]; do
    while [  $frommin -le $tomin ]; do
        echo "$fromhr:$frommin"
        if [ $frommin -eq 60 ]; then
            frommin=0
            break
        fi
        ((frommin++))
    done
    if [ $fromhr -eq 24 ]; then
        fromhr=0
    fi
    ((fromhr++))
done

最佳答案

请注意,如果您将from小于to进行比较,则不太可能达到小时/日期更改。比方说,从20:00到05:00的迭代甚至不会发生;如果从12:38到17:12的迭代,则不会有任何分钟的更改(内环的条件立即为false)。建议采取一些步骤。
将每个条件的运算符更改为-ne' rather than-le'。
在相应的溢出检查之前移动两个增量(frommin++fromhr++)(否则您将在输出中持续看到24小时60分钟)。
试试这个,看看你是不是更想美化它。

09-25 21:39