Les anciennes entrées sont localisables grâce à l'intersection de l'ensemble
des anciens utilisateurs et celui des utilisateurs à créer. L'opération se
schématise comme suit.
Nous allons donc faire une boucle de lecture sur chaque enregistrement du fichier "LIST", la valeur sera stockée dans la variable locale "username". Nous obtenons :
cat $LIST |\ while read username do
done
L'extraction du prénom et du nom se fait grâce :
!
",
name=`grep $username $WHO_REF | cut -d! -f2 | cut -c2-` is_user=`$AWK -v name="$name" ' BEGIN { FS=":" } $5 == name { print $0 } ' $PASSWD_REF`
Par conséquent, si la variable "is_user" est vide, le bloc action
associé au sélecteur "$5 == name
" n'a jamais été exécuté. Il n'y
a donc aucun utilisateur actuel qui satisfait ce critère : cet utilisateur
n'est pas déjà défini . Par contre, si cette variable est non vide,
l'utilisateur courrant est déjà enregistré. Dans ce cas, il ne restera plus
qu'à générer les informations adéquates en fonction des deux informations clef :
le "username" OpenVMS et le "logname" UNIX de
l'utilisateur en train d'être traité.
Pour plus d'information sur les fichiers concernés et leurs formats, reportez-vous
aux pages de manuels adéquates. Pour le détail concernant la génération
des informations, reportez-vous à la section .
Remarque 16..6 :
La variable "is_user" contiendra alors l'ancienne définition associée au compte UNIX (extraite de "PASSWD_REF") pour cet utilisateur.