Bonjour
j'ai besoin de votre aide (débutant kornshell UNIX) pour crée un script qui va rechercher en boucle dans le serveur ,
bon j'ai un serveur de donner qui est schématiser ainsi :
j'ai déjà crée un script qui permet de faire la recherche mais pas en boucle
petite aperçu de mon script:
# usage: sh Lget_company_access.sh NSG GFM ARM APG
export LIST=$*
STRING="|"
for LEVEL in $LIST
do
STRING="${STRING}(lawsonlevel=${LEVEL})"
done
QUERY="(&(|(slbapplication=lawson)(slbapplication=lawsonlf))(${STRING}))"
/lawtrans/secu/bin/Lsearch "${QUERY}" lawsonlevel lawsonchildren lawsoncompanyI
lawsoncompanyF
c'est a dire
lorsque j'execute le script sur par exemple MEA
donc je rentre sous unix :
./Lget_company_access.sh MEA
il me trouve tout une liste de compagnie :
dn: cn=MEA,ou=struct,o=slb,c=an
lawsonlevel: MEA
lawsonchildren: APG
lawsonchildren: ARM
lawsonchildren: BMP
lawsonchildren: CHG
lawsonchildren: EEG
lawsonchildren: FMC
lawsonchildren: GFM
lawsonchildren: ING
lawsonchildren: INM
lawsonchildren: IRG
lawsonchildren: TMV
lawsonchildren: MEA_PHQ
lawsonchildren: MEA_FE
lawsonchildren: MEA_C/JA
lawsonchildren: QTG
je suis donc obliger d'appeler encore une fois mon script pour voir ce que contient GFM par exemple :
./Lget_company_access.sh GFM
j'ai cette fois ci le N°de compagnie de GFM et les enfants de GFM
dn: cn=GFM,ou=struct,o=slb,c=an
lawsonlevel: GFM
lawsonchildren: AE
lawsonchildren: OM
lawsonchildren: YE
lawsoncompanyF: 9936
de la refais appel au script pour voir ce qui ya dans AE OM YE
je fais donc :
./Lget_company_access.sh AE OM YE
et j'ai
dn: cn=OM- Oman,ou=struct,o=slb,c=an
lawsonlevel: OM
lawsoncompanyF: 2
lawsoncompanyF: 24
lawsoncompanyF: 4000
lawsoncompanyF: 4050
lawsoncompanyF: 4051
lawsoncompanyF: 4052
lawsoncompanyF: 8
dn: cn=YE- Yemen,ou=struct,o=slb,c=an
lawsonlevel: YE
lawsoncompanyF: 4000
cette fois ci c'est bon je touche donc le fond .
La problématique commence ici:
Je veux créer un script qui permette de faire la recherche en boucle sans devoir rappeler mon script ,
1- que le fichier de sortie comporte uniquement Lawsoncompany(F ou I): N°de compagnie
2- ne comportent pas de chevauchement , pas de doublon le tout dans l'ordre
c'est a dire sous cette forme pour la compagnie GFM (par exemple):
lawsoncompanyF: 2
lawsoncompanyF: 8
lawsoncompanyF: 24
lawsoncompanyF: 4000
lawsoncompanyF: 4050-4052
lawsoncompanyF: 9936
voila voila merci encore et d'avance![]()
Partager