您好,我正在尝试制作一个简单的bash脚本,并且对它来说很新。
使用if语句,我试图像时钟一样向上计数。
因此,输出将为例如16:59:58、16:59:59、17:00:00
秒和分钟有效,但是第一个if语句不起作用。
当到达23:59:59时,它原本应该转到00:00:00,但是它原本是24:60:00
有帮助吗?
if [[ "$hours" -eq 23 && "$minutes" -eq 60 && "$seconds" -eq 60 ]]
then
seconds=0
minutes=0
hours=0
((date++))
else
if [[ "$minutes" -eq 60 ]]
then
minutes=00
((hours++))
else
if [[ "$seconds" -eq 60 ]]
then
seconds=00
((minutes++))
fi
fi
fi
答案 0 :(得分:1)
从最低顺序的字段开始,而不是测试所有变量。
((seconds++))
if [[ $seconds -eq 60 ]]
then
seconds=0
((minutes++))
fi
if [[ $minutes -eq 60 ]]
then
minutes=0
((hours++))
fi
if [[ $hours -eq 24 ]]
then
hours=0
((date++))
fi