为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

PHP
交互式爱情 2023-09-08 22:05:29
可能会问读取文件、将变量存储到数组中并能够比较它们的正确方法是什么?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


查看完整回答
反对 回复 2023-09-08
  • 1 回答
  • 0 关注
  • 117 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号