1 | #!/bin/sh |
---|
2 | # $1 base epo |
---|
3 | if [ $# -ne 1 ] |
---|
4 | then |
---|
5 | FIC=~/epo-base.txt |
---|
6 | elif [ -r $1 ] |
---|
7 | then |
---|
8 | FIC=$1 |
---|
9 | else |
---|
10 | echo no file found |
---|
11 | exit 1 |
---|
12 | fi |
---|
13 | exec < $FIC |
---|
14 | 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 |
---|
15 | do |
---|
16 | echo |
---|
17 | echo |
---|
18 | Nom=$(echo $A|sed -e 's/_/ /g') |
---|
19 | Prenom=$B |
---|
20 | Login=$W |
---|
21 | UserID=$X |
---|
22 | MailAddr=$(echo $J|sed -e 's/\@.*$/\@latmos.ipsl.fr/') |
---|
23 | NickName=$(echo $K |sed -e 's/NICK//' -e 's/zzz//' ) |
---|
24 | ArrivalDate=$(echo $L |sed -e 's/A//') |
---|
25 | if [ $ArrivalDate -eq 19500101 ] |
---|
26 | then |
---|
27 | ArrivalDate="" |
---|
28 | fi |
---|
29 | BirthDate=$(echo $N |sed -e 's/N//') |
---|
30 | ExpireDate=$(echo $M |sed -e 's/T//') |
---|
31 | if [ $ExpireDate -eq 29990131 ] |
---|
32 | then |
---|
33 | ExpireDate="" |
---|
34 | fi |
---|
35 | Departement="$(echo $P|sed -e 's/DOM/ /g')" |
---|
36 | # Gestion Votant |
---|
37 | case $Q in |
---|
38 | *vote*) Vote=vote;; |
---|
39 | *) Vote='' |
---|
40 | esac |
---|
41 | ContratType=$(echo $Q| sed -e 's/ORGvote//' -e 's/ORGnon//') |
---|
42 | |
---|
43 | Grade=$(echo $R |sed -e 's/GRADE//' -e 's/GRADEnon//') |
---|
44 | Statut="$(echo $S|sed -e 's/TYPEPS//' -e s'/TYPENP//' -e 's/TYPEnon//')" |
---|
45 | # Gestion Permanent - nonpermanent |
---|
46 | case $S in |
---|
47 | *PS*) Status=perm;; |
---|
48 | *NP*) Status=nonperm;; |
---|
49 | *) Status='' |
---|
50 | esac |
---|
51 | # Gestion Site ( bordelique à souhait ) |
---|
52 | # aurait du etre comme dans la description site1 tel1 site2 tel2 |
---|
53 | # colonne DFGI |
---|
54 | Site="$(echo $D $F|sed -e 's/AJETER//g')" |
---|
55 | NBSite=$(echo $Site|wc -w) |
---|
56 | Site2='' |
---|
57 | Phone2='' |
---|
58 | case $NBSite in |
---|
59 | 1)if [ "$D" = 'AJETER' ] |
---|
60 | then |
---|
61 | Site1=$F |
---|
62 | Phone1=$(echo $I|sed -e 's/AJETER//') |
---|
63 | else |
---|
64 | Site1=$D |
---|
65 | Phone1=$(echo $G|sed -e 's/AJETER//') |
---|
66 | fi |
---|
67 | if [ "z$Phone1" != 'z' ] ;then Phone1="+33 1 $Phone1" ;fi |
---|
68 | ;; |
---|
69 | 2)Site1=$D |
---|
70 | Phone1=$(echo $G|sed -e 's/AJETER//') |
---|
71 | if [ "z$Phone1" != 'z' ] ;then Phone1="+33 1 $Phone1" ;fi |
---|
72 | Site2=$F |
---|
73 | Phone2=$(echo $I|sed -e 's/AJETER//') |
---|
74 | if [ "z$Phone2" != 'z' ] ;then Phone2="+33 1 $Phone2" ;fi |
---|
75 | ;; |
---|
76 | 0) |
---|
77 | esac |
---|
78 | case $Site1 in |
---|
79 | StM*) Site='St Maur';; |
---|
80 | Vel*) Site=Vélizy;; |
---|
81 | SAV*) Site=VerriÚres;; |
---|
82 | SAJ*) Site=Jussieu;; |
---|
83 | *) echo "BIZARRE !!!!!!!!!!!!" |
---|
84 | esac |
---|
85 | RoomNumber=$(echo $Site1| sed -e 's/^.*-//') |
---|
86 | # Do the Stuff |
---|
87 | cat <<EOF > /tmp/$$ |
---|
88 | sn: $Nom |
---|
89 | givenName: $Prenom |
---|
90 | nickname: $NickName |
---|
91 | mail: $MailAddr |
---|
92 | arrivalDate: $ArrivalDate |
---|
93 | birthDate: $BirthDate |
---|
94 | expire: $ExpireDate |
---|
95 | site: $Site |
---|
96 | telephoneNumber: $Phone1 |
---|
97 | physicalDeliveryOfficeName: $RoomNumber |
---|
98 | grade: $Grade |
---|
99 | contratType: $ContratType |
---|
100 | EOF |
---|
101 | echo User $Nom $Prenom $Login |
---|
102 | case $(hostname) in |
---|
103 | hima*) COMMAND=/usr/local/bin |
---|
104 | ;; |
---|
105 | *) COMMAND="ssh -x -f -n root@ldap /usr/local/bin" |
---|
106 | esac |
---|
107 | cat /tmp/$$ | $COMMAND/latmosedit -f - $Login |
---|
108 | $COMMAND/latmosguser $Login $Statut $Vote $Status $Departement |
---|
109 | |
---|
110 | done |
---|