如何在shell脚本中为变量指定特定时间(例如12:00)?
我一直试图给脚本中的一个变量分配一个时间(00:00),但它只是给了我下面这个错误 关于我的代码的简要说明: 我的脚本必须检查系统时间。一旦时间到达凌晨12:00,当前脚本将调用另一个脚本如何在shell脚本中为变量指定特定时间(例如12:00)?,shell,Shell,我一直试图给脚本中的一个变量分配一个时间(00:00),但它只是给了我下面这个错误 关于我的代码的简要说明: 我的脚本必须检查系统时间。一旦时间到达凌晨12:00,当前脚本将调用另一个脚本 function checkTime(){ while [ : ] do time= "00:00" currentTime= $( date -d +"%H:%M") if [ "$currentTime" = "$time" ] ; then echo $(./
function checkTime(){
while [ : ]
do
time= "00:00"
currentTime= $( date -d +"%H:%M")
if [ "$currentTime" = "$time" ] ;
then
echo $(./Performance.sh)
fi
done
}
出现的错误是:
line 5: 00:00: command not found
date: invalid date ‘+%H:%M’
尝试删除time=和“00:00”之间的空格,如下所示: 从 致: Bash对空间非常挑剔
请对currentTime执行相同操作。这将起作用
function checkTime(){
while [ : ]
do
time="00:00"
currentTime=$( date +"%H:%M")
if [ "$currentTime" = "$time" ] ;
then
echo $(./Performance.sh)
fi
done
}
更改
date+%H:%M”
而不是date-d+%H:%M”
-d选项更改为字符串,%H:%M已在字符串中打印,因此无需打印请始终在脚本上使用。它会帮你找出很多常见的错误。谢谢!但同样的错误仍然是阿帕林努克斯?您可以使用
crontab
。只需在crontab-e
中添加一行代码:00***/your/command
就行了!!谢谢,但我希望它在这一行echo$(./Performance.sh)之后退出循环,如何在这一行echo$(./Performance.sh)之后?break
。
time="00:00"
function checkTime(){
while [ : ]
do
time="00:00"
currentTime=$( date +"%H:%M")
if [ "$currentTime" = "$time" ] ;
then
echo $(./Performance.sh)
fi
done
}