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

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=$((

你可能感兴趣的:(Linux,linux,运维,服务器)