2016-04-05 4 views
0

J'ai besoin d'aide pour remplir le script ci-dessous dans shell. Le format requis est d'imprimer les jours ouvrables précédents, actuels et suivants (excluant les week-ends et jours fériés). Nom du texte: holiday.txtDate de déclaration en utilisant awk

#!/usr/bin/sh 
cur_date=`date +"%A %m/%d/%Y"`         
cur_day=`date +"%A"`                
yesterday=`TZ=AEDT+13 date +"%A %m/%d/%Y"`;  
twodd_back=`TZ=AEDT+37 date +"%A %m/%d/%Y"`; 
tomorrow=`TZ=AEDT-35 date +"%A %m/%d/%Y"`;  
twodd_later=`TZ=AEDT-59 date +"%A %m/%d/%Y"`;  
cdate=`date +"%m/%d/%Y"` 
#################### 
echo "Previous Business Day is $yesterday" 
    if echo $yesterday|awk '{print $1}'=Saturday 
     then echo "Previous Business Day is $twodd_back"  
    fi 
echo "Current Business Day is $ cur_date" 
echo " Next Business Day is $tomorrow" 
+0

Cela ne fonctionne-t-il pas? Qu'en est-il ne fonctionne pas? –

Répondre

0

Le script dans son état actuel ne pas exécuter avec succès. Il échoue avec l'erreur ci-dessous.

awk: syntax error at source line 1 
context is 
{print >>> $1}= <<< Saturday 
awk: bailing out at source line 1 

Pour résoudre ce problème, modifiez votre instruction if.

if [[ `echo $yesterday | awk '{print $1}'` = Saturday ]];