bashスクリプトの休日を意識させる

私はbashスクリプト(bash初心者)の作成に着手しようとしていました。スクリプトの目的は、いくつかの他のコマンド(すなわち、スクリプトの作業部分)が休日に実行されないという要件を強制することである。

以下のスニペットをオンライン

#!/bin/bash
grep -i date holiday.txt
if[ $? -ne 0] then;
#script to run the jobs
exit
fi

私はbash新生児であることを認めていますが、このスクリプトで何か間違った点を見つけることはできませんが、同時に、少し単純すぎるように見えます。私の訓練されていない目は今見つけられない後で後で私を噛むようになるのだろうか?

私はGNU bashバージョン4.1.5(1)をリリースしています

1
すべての祝日が毎年同じ日付になるわけではありません。イースター、労働者の日。あなたは、毎年、そのようなことを説明するためにholiday.txtを再生成する必要があります。
追加された 著者 Marc B,

2 答え

holiday.txtの例

2011-11-25//testing purpose
2011-12-25
2012-01-01
if test $(grep $(date +%Y-%m-%d) holiday.txt -ic) -ne 0
then
   # your action list
fi
1
追加された
サンプルデータセットもありがとうございました。私は日付形式について不思議でした...
追加された 著者 Homunculus Reticulli,

構文を除いて私にはうまく見えますが、画面上に出力したいかどうかは分かりません。あなたは好きかもしれません

if ! grep -q -i date holiday.txt ; then
    true
    exit
fi

元のコードでは、; 次にを交換して []の前にスペースを追加する必要があると思います。

また、コードが短い場合

grep -q -i date holiday.txt || somethingbeingdone

おそらくもっと便利な方法です。

0
追加された