Ich verwende das folgende Skript, um zwei Tage zurück zu verschieben, wenn das Skript an zwei Tagen im Jahr ausgeführt wird. Außerdem überprüfe ich den ersten und zweiten Tag jedes Monats und verschiebe zwei Tage zurück.
if [$month="01"] && [$day="01"];
then
date="$last_month/$yes_day/$last_year"
fulldate="$last_month/$yes_day/$last_year"
else
if [$month="01"] && [$day="02"];
then
date="$last_month/$yes_day/$last_year"
fulldate="$last_month/$yes_day/$last_year"
else
if [ $day = "01" ];
then
date="$last_month/$yes_day/$year"
fulldate="$year$last_month$yes_day"
else
if [ $day = "02" ];
then
date="$last_month/$yes_day/$year"
fulldate="$year$last_month$yes_day"
else
date="$month/$yes_day/$year"
fulldate="$year$month$yes_day"
fi
fi
fi
fi
Aber mein schlechtes bekomme die folgende Fehlermeldung
Etime_script.sh: line 19: [06=01]: command not found
Etime_script.sh: line 24: [06=01]: command not found
if [ ... ]; then
), also nicht so ungewöhnlich.
[
. Überprüfen Sie außerdem dieelif
Anweisung. Es wird Ihnen helfen, die Dinge aufzuräumen. Auch die Semikolons nach den if-Anweisungen sind nicht notwendig, aber auch nicht falsch, nur seltsam.