Précédent   Forum des professionnels en informatique > Systèmes > Linux > Applications > Shell
Shell Vos questions sur l'utilisation des commandes shell
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 12/04/2011, 16h39   #1
Invité de passage
 
Inscription : mai 2007
Messages : 1
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 1
Points : 2
Points : 2
Par défaut Insertion de données dans un tableau

Bonjour,

Je suis embêté, j'aimerais insérer le résultat de 2 commandes dans un tableau associatif sous Bash afin de faire correspondre les uid de mes utilisateurs associés à leurs groupes secondaires mais impossible de trouver réponse à cette question jusqu'à maintenant.

Je ne sais pas s'il est aussi possible, afin que le code soit plus propre, d'intégrer une variable derrière les indices, genre déclarer une fonction et la rappeler. Visiblement je n'ai pas trouvé autre chose à y mettre que des valeurs fixes et non des variables (résultats de commandes).

Code :
1
2
3
4
5
6
7
8
9
#!/bin/bash
 
declare -a RECHERCHE=([1])=`ldapsearch -x -b dmdName=xxx,ou=xxx,dc=xxx,dc=xxx,dc=xxx,dc=xxx |grep ^uid: |sed 's/uid: //g'` ([2])=`for l in $(ldapsearch -x -b dmdName=xxx,ou=xxx,dc=xxx,dc=xxx,dc=xxx,dc=xxx |grep ^uid: |sed 's/uid: //g') ; do  id -nG $l |sed 's/Utilisa. du domaine //g' |sed 's/Utilisa. du domaine/NULL/g' ; done`
 
echo ${#RECHERCHE[@]}
 
unset $RECHERCHE
 
exit 0
Si quelqu'un a une idée...

Merci.
PsyKoptiK est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 12/04/2011, 21h22   #2
Membre chevronné

 
Avatar de D[r]eadLock
 
Inscription : mai 2002
Messages : 504
Détails du profil
Informations personnelles :
Âge : 32

Informations forums :
Inscription : mai 2002
Messages : 504
Points : 622
Points : 622
Je n'ai pas compris ce que tu cherchais à faire. Mais, en intuitant, pourquoi ne pas utiliser deux tableaux, genre
Code :
1
2
3
4
5
6
7
8
9
10
11
12
#!/bin/bash
 
declare -a ID VALUES
 
for i in `seq 0 9`; do
	ID[$i]="uid$i"
	VALUES[$i]="value$i"
done
 
for i in `seq 0 $((${#ID[@]}-1))`; do
	echo "${ID[$i]} -> ${VALUES[$i]}"
done
Qui donne:
Citation:
uid0 -> value0
uid1 -> value1
uid2 -> value2
uid3 -> value3
uid4 -> value4
uid5 -> value5
uid6 -> value6
uid7 -> value7
uid8 -> value8
uid9 -> value9
__________________
1)Avant de poster, merci de lire les règles. 2)Utiliser [code] [/code] pour quoter le code ! 3)Conseils pour le forum C [a lire en entier!]
D[r]eadLock est déconnecté   Envoyer un message privé Réponse avec citation 20
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 02h59.


 
 
 
 
Partenaires

Hébergement Web