Linux bash 定时器

标签 linux bash if-statement while-loop

好的,这里是愚蠢的新手问题。我以为我在制作倒数计时器。这应该是从 5 开始倒计时,一旦倒数到 0,则执行 echo“time is up clown”然后结束。我在这里做错了什么?

seconds=5
date1=$((`date +%s` + $seconds)); 
while [ "$date1" -ne `date +%s` ]; do 
  if (!$date1 -lt ((`date +%s` + $seconds)+1)); then
     echo "time is up clown";
  break;
  fi;
  echo -ne "$(date -u --date @$(($date1 - `date +%s` )) +%H:%M:%S)\r";
done

最佳答案

#!/bin/bash
SECS=5
while [[ 0 -ne $SECS ]]; do
    echo "$SECS.."
    sleep 1
    SECS=$[$SECS-1]
done
echo "Time is up, clown."

关于Linux bash 定时器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21424985/

相关文章:

bash - wget 使用不正确的名称/类型保存文件。为什么?

bash - 请解释 : trap 'sudo kill -9 -- -$$' EXIT

javascript - If 语句未通过测试用例

linux - 变量是如何通过 PAM 认证系统传递的

linux - 如何在使用 wget 进行 ftp 下载时创建修剪目录树

arrays - 为什么我的数组对于我的 shell 脚本不正确?

java - 我的 if 语句是否扰乱了我的菜单?

javascript - JS 基础 : How to use if/else inside a function and set to variable

python - 轮询 linux cp 命令以获取进度

linux - 是否可以在转换期间进行流式传输? -FFMPEG