gentildreamer a écrit :
GG !!!
Merci olivthill !
la commande que jai faites est donc:
Code :
- var_dream=`mysql -h adr.ess.e.ip -u identifiantsql -ppasswordsql -B --exec="connect bddnomdebase; SELECT dream_val FROM t_dream WHERE dream_ID = 1"`
|
Par contre il me reste un petit soucis: la variable stocke le nom de la colone (ici dream_val) et la valeure qui correspond a ma requete
|
C'est normal. Le mécanisme de sous-exécution (ou de délégation) réalisé grace aux backquottes qui encadrent la commande (`cde`) remplacent l'expression mise entre backquottes par tout ce que la commande affiche.
Ce mécanisme est extrèmement puissant car il permet au shell de déléguer aux autres programmes tout ce qu'il ne sait pas faire par lui-même. Par exemple, comme le Bourne Shell ne sait pas calculer (c'est juste un exemple parce que des shells évolués comme le Bourne Again Shell savent calculer); ben il lui suffit de déléguer son calcul à "expr" et récupérer ce que "expr" affiche => a=5; a=`expr $a + 1` => "a" vaut "6"
Si ta commande affiche plein de trucs, et que tu fais "a=`ma_commande_select`", tu auras dans "a" tout ce que "ma_commande_select" a affiché.
Ensuite, grâce qux autres outils unix comme "tr", "cut", "awk", "sed", tu peux modifier, couper, traiter ta variable "a" pour lui enlever tout ce qui peux te géner... du style
a=`echo $a | tr ... | sed ... | cut ...` => si tu maîtrise bien "tr", "cut" et "sed", alors "a" contiendra au final que ce qui t'intéresse...
T'as un cours de shell très complet ici: http://fr.lang.free.fr/cours/Shell_v1.4.pdf
Message édité par Sve@r le 10-11-2005 à 14:17:43
---------------
Vous ne pouvez pas apporter la prospérité au pauvre en la retirant au riche.