我有一个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'
..
..
..
答案 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'
..
..
..