astuce bash

Le
wep
bonjour,

Je suis peut être hors-charte, veuillez m'en excuser

Impossible de remettre la main sur cette astuce:
dans un script bash, avec la commande:
sudo blkid
j'obtiens des lignes du genre:
/dev/sdb1: UUID="A420-474B" TYPE="vfat" SEC_TYPE="msdos" LABEL="UINIX"

Je souhaiterai pouvoir 'récupérer' ces données directement en variables;
exemple, après traitement:
la variable UUID contiendrait "A420-474B"
la variable TYPE contiendrait "vfat"
()
Je veux donc récupérer chaque nom de variable et son contenu.
Comment faire cette opération proprement ?

merci,
jip
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Jean-Pierre
Le #17273641
wep wrote:

bonjour,

Je suis peut être hors-charte, veuillez m'en excuser...

Impossible de remettre la main sur cette astuce:
dans un script bash, avec la commande:
sudo blkid
j'obtiens des lignes du genre:
/dev/sdb1: UUID="A420-474B" TYPE="vfat" SEC_TYPE="msdos" LABEL="UINIX"

Je souhaiterai pouvoir 'récupérer' ces données directement en variables;
exemple, après traitement:
la variable UUID contiendrait "A420-474B"
la variable TYPE contiendrait "vfat"
(...)
Je veux donc récupérer chaque nom de variable et son contenu.
Comment faire cette opération proprement ?

merci,
jip



bonjour,

avec cut (man cut) ou sed (mais il faut déjà pratiquer le bash) tu
trouveras ton bonheur mais avant tout il faudra te lancer dans
l'apprentissage du bash mais je crois que le jeu en vaut la chandelle car
c'est proprement hallucinant tout ce qu'on peut faire avec cet outil
fantastique qu'est la ligne de commande.

à voir si tu as vraiment envie de t'investir (important : tout en
français!) :
http://eric-sanchis.developpez.com/linux/shell/bash/
puis
http://abs.traduc.org/abs-5.3-fr/

Sinon tu devrais plutôt poser ta question fr.comp.os.unix en te présentant
bien comme débutant.

bon courage!
--

Ah l'informatique! Ou pourquoi faire simple quand on peut faire
compliqué!...

Jean-Pierre.
François Patte
Le #17274791
Le 18.09.2008 08:03, wep a écrit :
bonjour,

Je suis peut être hors-charte, veuillez m'en excuser...

Impossible de remettre la main sur cette astuce:
dans un script bash, avec la commande:
sudo blkid
j'obtiens des lignes du genre:
/dev/sdb1: UUID="A420-474B" TYPE="vfat" SEC_TYPE="msdos" LABEL="UINIX"

Je souhaiterai pouvoir 'récupérer' ces données directement en variables;
exemple, après traitement:
la variable UUID contiendrait "A420-474B"



Quelque chose comme:

UUID=`/sbin/blkid /dev/sdb1 | cut -d= -f2 | cut -d" " -f1`

echo $UUID

Voir man cut....


--
François Patte
Université Paris 5 - Paris
wep
Le #17276551
Bonsoir,

En cherchant pas mal, j'ai finalement appliqué cette solution:
exemple: ma variable LIGNE contient:
/dev/sdb1: UUID="A420-474B" TYPE="vfat" SEC_TYPE="msdos" LABEL="UINIX"

- je ne conserve qu'à partir du deuxième champ:
LIGNE=`echo $LIGNE | cut -d' ' -f2- `

- il reste donc dans LIGNE:
UUID="A420-474B" TYPE="vfat" SEC_TYPE="msdos" LABEL="UINIX"

- et là un simple:
eval $LIGNE

et le tour est joué:
dans cet exemple, les variables UUID, TYPE, SEC_TYPE et LABEL sont créées
dans le script et 'contiennent' bien les valeurs voulues.

merci à tous,

jip
Publicité
Poster une réponse
Anonyme