gpt4 book ai didi

linux - 在 bash 中按给定的时间间隔重新执行命令

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:47:25 27 4
gpt4 key购买 nike

有没有办法在 bash 中按给定的时间间隔重新执行命令?我希望每 30 分钟重新执行一次天气。这是我的脚本示例:

#!/bin/bash

#Show time, date and clickable calendar
clock() {
curtime=`date '+%I:%M'`
curdate=`date '+%d-%m-%Y'`
echo "%{A:/usr/bin/gsimplecal:}%{T2} %{T1}$curdate%{A} %{T2} %{T1}$curtime"
}


volume1() {
amixer get Master | sed -n 'N;s/^.*\[\([0-9]\+%\).*$/\1/p'
}

#weather
weather(){
curl -s "$(curl -s 'http://www.wunderground.com/' | sed -n '/Full Forecast/{s#[^"]*"\([^"]*\)".*#http://www.wunderground.com\1#p}')" | sed -n '/"curCond"/{ s#.*wx-value[^>]*>\([^<]*\)<.*#\1#; h }; /"curTemp"/{ N; N; N; s#.*wx-value[^>]*>\([^<]*\)<.*wx-unit[^>]*>&deg;\(.\).*#\1°\2 #; G; s#\n##; p }'
echo $weather
}

while :; do

echo "%{B#DDecf0f1}%{F#2c2c2c}%{T2}%{l} $(groups) %{T1}$(curwin) %{r}%{F#2C2C2C} $(weather) $(space)|$(space) VOL: $(volume1) $(space)|$(space) $(uptime) $(space)|$(space) $(clock) %{A2}$(curwin)"

sleep 1 #sleep of mainloop

done

最佳答案

我建议您使用 cron 定期运行您的脚本。

如果您只想从脚本中运行特定功能(例如 weather() ),请将 switch 语句添加到您的脚本中,您将在其中执行检查是否提供了特定选项,例如 -w 用于执行 weather() 函数。

当您将 crontab 编辑为每 30 分钟运行一次(即 0,30 * * * * my_script )时,请将 -w 提供给您的仅执行 weather() 的脚本 - 0,30 * * * * my_script -w

关于linux - 在 bash 中按给定的时间间隔重新执行命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35524759/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com