可能会问读取文件、将变量存储到数组中并能够比较它们的正确方法是什么?PHP 用户界面编写一个包含 3 个变量的 txt:星期几、小时和分钟,我需要将它们读入 bash 并与当前时间进行比较以确定是否要执行某项操作。目前我不确定如何读取和存储 bash 数组中的变量,并且我遇到了很多关于如何计算条件以确定当前时间是否主要然后是 txt 时间的问题。就我而言,bash 脚本一直在运行,有时它完成某件事,需要检查当前时间是否主要,然后是 txt 的时间来选择下一步要做什么。输入txt文件,计划日期的示例22045bash 脚本#!/bin/bash#CHECKTIME#GET TIMEIFS=- read -r DAY HOUR MINUTE < <(date +%e-%H-%M)echo $DAYecho $HOURecho $MINUTE#READ EVENT TIMEwhile IFS= read -r line; do echo "$line"done < myFile.txtecho $line[0]echo $line[1]echo $line[2]if [ "$DAY" = "$line[0]" ] && [ "$HOUR" -ge "$line[1]"] && [ "$MINUTE" > "$line[2]"]then echo "do event "else echo "don't do event"#echo $namefi我是否需要:如果一周的日期相等并且小时是主要的,则执行此操作,否则不要执行此操作,但如果周的日期和小时相等,还检查分钟是否相等或主要..?但是我不确定如何读取变量并将其存储到数组中以及如何在 BASH 中写入此条件,可以寻求帮助吗?谢谢
1 回答

慕慕森
TA贡献1856条经验 获得超17个赞
如果保存的日期/时间与当前时间匹配,则要求似乎执行作业。
# Ready current Month-day, hour, minute
read CDD CHH CMM <<< (date '+%e %H %M')
# Read saved time from file
{ read XDD ; read XHH ; read XMM ;} < myFile.txt
# Check for matching day, and execute if current time >= saved time.
if (( CDD==XDD && CHH*60+CMM >= XHH*60+XMM )) ; then
echo "Do Event"
else
echo "Skip"
fi
- 1 回答
- 0 关注
- 117 浏览
添加回答
举报
0/150
提交
取消