全球主机交流论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

CeraNetworks网络延迟测速工具IP归属甄别会员请立即修改密码
查看: 1164|回复: 12

一个shell命令请教

[复制链接]
发表于 2023-10-27 19:44:48 | 显示全部楼层 |阅读模式
在脚本里面定时运行,精确到毫秒(安卓终端可能不行),不是cron,百度翻烂了找到一个,有概率到时间了不执行,会休眠。求大佬重写一个脚本
  1. otime="16:35:01"                  #定时时间
  2. ctime=`date +"%H:%M:%S"`          #当前时间
  3. step=5                            #消息间隔步长
  4. echo "The timing time is : "${otime}, "the current time is : "${ctime} " the step is "${step}
  5. while [[ "${ctime}" != "${otime}" ]]
  6. do
  7.   sleep 1
  8.   ctime=`date +"%H:%M:%S"`
  9.   mi=`date +"%M"`                 #分钟  
  10.   sec=`date +"%S"`                 #秒
  11.   rs=`expr ${mi} % ${step}`     #分钟与间隔取余
  12.   if [ ${rs} = 0 ] && [ ${sec} = "01" ]
  13.   then
  14.     echo -e "current time is "`date +"%H:%M:%S"` " wait a few minutes."
  15.   else
  16.     echo "sleep 1 second : "`date +"%H:%M:%S"` " -- M: ${mi} S: ${sec} not !"
  17.   fi
  18. done
  19. echo "ctime:"${ctime} " eq otime:"${otime}
复制代码
发表于 2023-10-27 20:25:55 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
发表于 2023-10-27 19:54:34 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
发表于 2023-10-27 19:54:25 | 显示全部楼层
为什么不能设置crontab,专门拿来定时运行脚本的


  1. #!/bin/bash

  2. otime="16:35:01"                  #定时时间
  3. step=5                            #消息间隔步长
  4. echo "The timing time is : ${otime}, the step is ${step}"

  5. while true; do
  6.   ctime=$(date +"%H:%M:%S.%3N")  #当前时间,精确到毫秒
  7.   if [[ "${ctime}" == "${otime}" ]]; then
  8.     echo "Current time is ${ctime}. It's time to execute the task."
  9.     # 在这里执行任务
  10.     break
  11.   else
  12.     echo "Current time is ${ctime}. Waiting..."
  13.   fi
  14.   sleep 0.1  # 休眠0.1秒,减少CPU占用
  15. done
复制代码
 楼主| 发表于 2023-10-27 20:24:23 | 显示全部楼层
netviyin 发表于 2023-10-27 19:54
我的天啊。。

这种东西怎么去百度用汉语找呢

目前纯英文去提问水平差了点...在用文心一言,打算用gpt了,
 楼主| 发表于 2023-10-27 20:32:41 | 显示全部楼层
yanzhiling2002 发表于 2023-10-27 19:54
为什么不能设置crontab,专门拿来定时运行脚本的

大佬你这命令改的不全吧,定义了变量step但没有引用呀
发表于 2023-10-27 21:08:46 | 显示全部楼层
308- 发表于 2023-10-27 20:32
大佬你这命令改的不全吧,定义了变量step但没有引用呀

你得先说明你的需求,我就是随手改的
 楼主| 发表于 2023-10-27 21:25:45 来自手机 | 显示全部楼层
yanzhiling2002 发表于 2023-10-27 21:08
你得先说明你的需求,我就是随手改的

就是精确到毫秒运行不用cron。你随手改的我等会试试再修下就能用了吧
发表于 2023-10-27 21:31:32 | 显示全部楼层
308- 发表于 2023-10-27 21:25
就是精确到毫秒运行不用cron。你随手改的我等会试试再修下就能用了吧

你仔细看看,用while true 执行,到了时间就执行你编写的功能,需要脚本持续运行。看情况改吧。不懂就问chatgpt,写脚本很牛逼的。
发表于 2023-10-27 21:33:20 | 显示全部楼层
systemd->timer
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|全球主机交流论坛

GMT+8, 2026-4-1 08:51 , Processed in 0.065606 second(s), 11 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表