Bash 读取 txt 并将条件应用于变量

可能会问读取文件、将变量存储到数组中并能够比较它们的正确方法是什么?PHP 用户界面编写一个包含 3 个变量的 txt:星期几、小时和分钟,我需要将它们读入 bash 并与当前时间进行比较以确定是否要执行某项操作。目前我不确定如何读取和存储 bash 数组中的变量,并且我遇到了很多关于如何计算条件以确定当前时间是否主要然后是 txt 时间的问题。就我而言,bash 脚本一直在运行,有时它完成某件事,需要检查当前时间是否主要,然后是 txt 的时间来选择下一步要做什么。


输入txt文件,计划日期的示例


2

20

45

bash 脚本


#!/bin/bash

#CHECKTIME



#GET TIME


IFS=- read -r DAY HOUR MINUTE < <(date +%e-%H-%M)

echo $DAY

echo $HOUR

echo $MINUTE



#READ EVENT TIME

while IFS= read -r line; do

    echo "$line"

done < myFile.txt

echo $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 $name

fi

我是否需要:如果一周的日期相等并且小时是主要的,则执行此操作,否则不要执行此操作,但如果周的日期和小时相等,还检查分钟是否相等或主要..?


但是我不确定如何读取变量并将其存储到数组中以及如何在 BASH 中写入此条件,可以寻求帮助吗?谢谢


交互式爱情
浏览 118回答 1
1回答

慕慕森

如果保存的日期/时间与当前时间匹配,则要求似乎执行作业。&nbsp; &nbsp;# Ready current Month-day, hour, minuteread CDD CHH CMM <<< (date '+%e %H %M')&nbsp; &nbsp;# Read saved time from file{ read XDD ; read XHH ; read XMM ;} < myFile.txt&nbsp; &nbsp;# Check for matching day, and execute if current time >= saved time.if (( CDD==XDD && CHH*60+CMM >= XHH*60+XMM )) ; then&nbsp; &nbsp;echo "Do Event"else&nbsp; &nbsp;echo "Skip"fi
打开App,查看更多内容
随时随地看视频慕课网APP