#!/bin/sh # $1 base epo if [ $# -ne 1 ] then FIC=~/epo-base.txt elif [ -r $1 ] then FIC=$1 else echo no file found exit 1 fi exec < $FIC while read A B C D E F G H I J K L M N O P Q R S T U V W X do echo echo Nom=$(echo $A|sed -e 's/_/ /g') Prenom=$B Login=$W UserID=$X MailAddr=$(echo $J|sed -e 's/\@.*$/\@latmos.ipsl.fr/') NickName=$(echo $K |sed -e 's/NICK//' -e 's/zzz//' ) ArrivalDate=$(echo $L |sed -e 's/A//') if [ $ArrivalDate -eq 19500101 ] then ArrivalDate="" fi BirthDate=$(echo $N |sed -e 's/N//') ExpireDate=$(echo $M |sed -e 's/T//') if [ $ExpireDate -eq 29990131 ] then ExpireDate="" fi Departement="$(echo $P|sed -e 's/DOM/ /g')" # Gestion Votant case $Q in *vote*) Vote=vote;; *) Vote='' esac ContratType=$(echo $Q| sed -e 's/ORGvote//' -e 's/ORGnon//') Grade=$(echo $R |sed -e 's/GRADE//' -e 's/GRADEnon//') Statut="$(echo $S|sed -e 's/TYPEPS//' -e s'/TYPENP//' -e 's/TYPEnon//')" # Gestion Permanent - nonpermanent case $S in *PS*) Status=perm;; *NP*) Status=nonperm;; *) Status='' esac # Gestion Site ( bordelique à souhait ) # aurait du etre comme dans la description site1 tel1 site2 tel2 # colonne DFGI Site="$(echo $D $F|sed -e 's/AJETER//g')" NBSite=$(echo $Site|wc -w) Site2='' Phone2='' case $NBSite in 1)if [ "$D" = 'AJETER' ] then Site1=$F Phone1=$(echo $I|sed -e 's/AJETER//') else Site1=$D Phone1=$(echo $G|sed -e 's/AJETER//') fi if [ "z$Phone1" != 'z' ] ;then Phone1="+33 1 $Phone1" ;fi ;; 2)Site1=$D Phone1=$(echo $G|sed -e 's/AJETER//') if [ "z$Phone1" != 'z' ] ;then Phone1="+33 1 $Phone1" ;fi Site2=$F Phone2=$(echo $I|sed -e 's/AJETER//') if [ "z$Phone2" != 'z' ] ;then Phone2="+33 1 $Phone2" ;fi ;; 0) esac case $Site1 in StM*) Site='St Maur';; Vel*) Site=Vélizy;; SAV*) Site=Verrières;; SAJ*) Site=Jussieu;; *) echo "BIZARRE !!!!!!!!!!!!" esac RoomNumber=$(echo $Site1| sed -e 's/^.*-//') # Do the Stuff cat < /tmp/$$ sn: $Nom givenName: $Prenom nickname: $NickName mail: $MailAddr arrivalDate: $ArrivalDate birthDate: $BirthDate expire: $ExpireDate site: $Site telephoneNumber: $Phone1 physicalDeliveryOfficeName: $RoomNumber grade: $Grade contratType: $ContratType EOF echo User $Nom $Prenom $Login case $(hostname) in hima*) COMMAND=/usr/local/bin ;; *) COMMAND="ssh -x -f -n root@ldap /usr/local/bin" esac cat /tmp/$$ | $COMMAND/latmosedit -f - $Login $COMMAND/latmosguser $Login $Statut $Vote $Status $Departement done