如何在特定实例上触发脚本

时间:2018-11-23 05:41:05

标签: unix

我有一个main_script.sh,它每天运行并在crontab中安排。

在主脚本中,我从配置文件中读取数据

i需要根据以下内容进行打印。例如,苹果和芒果不应该在星期日运行。 Main_script将全天保持运行

苹果-星期一至星期五 芒果-星期一至星期六 橙色-周一至周日

test.config
apple
mango
orange

main_script.sh
for i in `cat test.config`
do 
if [ $i == 'apple' ]
then 
echo 'Apple'
..
..
..

1 个答案:

答案 0 :(得分:0)

如果我的理解正确,您可以使用date函数获取一周中的某天,并调整逻辑以将其作为条件的一部分进行检查。

您可以使用数字日期和三个条件:

dayofweek=$(date +%u)
if [ "$i" = "Apple" ] && [ "$dayofweek" -ge 1 ] && [ "$dayofweek" -le 5 ]
then echo "apple"
..
..
..

我最初的建议(这只是提要...您需要通过检查所有相关天数来使条件完整)

dayofweek=$(date '+%A')
for i in `cat test.config`
do 
if [ "$i" = "apple" ] && [ [ "$dayofweek" = "Monday" ] || [ "$dayofweek" = "Tuesday" ] ... ]
then 
echo 'Apple'
..
..
..