← Back to team overview

sslug-teknik team mailing list archive

Re: Hukommelsessvigt ...

 

Perfekt ... netop hvad jeg skal bruge til at gøre familien glad (læs: huske
fødselsdagene ;o) ) ... 

Kan dog ikke rigtigt få det til at virke. Når jeg kører hver enkelt
statement individuelt virker det fint, men såsnart jeg kører hele scriptet
får jeg noget ala:

./chkCalendar: line 1: grep ^js: /etc/passwd : No such file or directory
./chkCalendar: line 1:  awk -F: { print $6 }: command not found
./chkCalendar: line 14: [ -n  ] : command not found
./chkCalendar: line 15:                  [ -f /calendar ] : No such file or
directory
./chkCalendar: line 1: grep 02/26 /calendar: No such file or directory
./chkCalendar: line 16:                          APP=: command not found
./chkCalendar: line 17:                          [ -n  ] : command not found
./chkCalendar: line 18:                  }: command not found
./chkCalendar: line 19:          }: command not found

Jeg bruger bash .. og file /etc/passwd eksisterer .. Nogen ideer til hvor
jeg får dette?

Mange hilsner,

Jesper


Jon Svejgaard wrote:

> 
> 
> Jesper Honig Spring wrote:
>  > Hej SSLUG'ere
>  >
>  > Jeg er ved at blive gammel og har tendenser til at glemme - specielt
>  > fødselsdage ... Derfor vil jeg høre om der til linux findes et eller
>  > andet primitivt program, hvor man kan editere og indsætte datoer og
>  > en enkelt tekst i en eller anden tekstfil, og så have et eller andet
>  > program til at checke denne dagligt (eks. via crontab) og derefter
>  > sende en email med den pågældende tekst, hvis der er en 'hændelse'
>  > for den pågældende dato i tekstfilen?
> Her er det lovede script. Det er en anelse mere primitivt end man måske
> kunne ønske, men i grundtrækkene virker det.
> Det løber passwd filen igennem og sender en mail til de brugere, hvis
> "calendar" fil i vedkommendes home dir indeholder entries for dags dato.
> Det er ideen, at det skal køres dagligt af cron.
> 
> #!/bin/bash
> 
> DATE=`date '+%m/%d'`
> USERS=`awk -F: '{ print $1 }' /etc/passwd`
> SUBJ="Husk i dag"
> 
> for u in $USERS
> do
>          DIR=`grep "^$u:" /etc/passwd | awk -F: '{ print $6 }'`
>          [ -n "$DIR" ] && {
>                  [ -f $DIR/calendar ] && {
>                          APP=`grep $DATE $DIR/calendar`
>                          [ -n "$APP" ] && echo "$APP" | mail -s "$SUBJ" $u
>                  }
>          }
> done
> 
> Calendar filen skal være i formatet:
> 
> mm/dd hændelse
> 
> MVH
> 



Follow ups

References