【linux】利用echo命令实现不换行的倒计时

发布时间:2024年01月12日

1、实现5秒倒计时

#!/bin/sh

for i in `seq 5`
  do
     echo -ne "$i\b"
     sleep 1
done

2、实现“时:分:秒”格式的倒计时

这个脚本会从5小时开始,每秒更新一次,以时:分:秒的格式显示倒计时,实现一个从5小时倒计时到0的功能。echo -ne "\r"会将光标移动到当前行的开头,实现不断更新同一行的效果。脚本中使用了sleep 1来让脚本每秒更新一次。

#!/bin/bash

seconds=$((5 * 60 * 60))  # 计算总秒数,5小时 * 60分钟/小时 * 60秒/分钟

while [ $seconds -gt 0 ]; do

    # 计算时、分、秒

    hours=$((seconds / 3600))

    minutes=$(( (seconds % 3600) / 60 ))

    remaining_seconds=$((seconds % 60))

    # 使用printf格式化输出,并通过echo -n实现不换行

    printf "%02d:%02d:%02d" $hours $minutes $remaining_seconds

    echo -ne "\r"  # 回到行首

    sleep 1  # 等待1秒

    seconds=$((
文章来源:https://blog.csdn.net/zxwscau/article/details/135563363
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。