Shell et perl problème d'interpolation de variable.
Bonjour à tous,
Voilà, j'ai un petit problème, j'ai besoins de développé un programme en Shell. Dans mon scripte, je désire utiliser du perl pour extraire des données.
Le problème, c'est que je ne récupère rien car je pense avoir un problème d'interpolation de variable, mais je n'arrive pas à le résoudre.
Code:
1 2 3
| #!/bin/bash
CYL="/dev/hdb: 2434 cylindres, 255 têtes, 63 secteurs/piste"
perl -e '$CYL =~ m/\b([\d]+)/; print $1;' |
Normalement je devais récupérer les valeurs chiffrées, ce qui fonctionne parfaitement dans un programme perl classique, mais là je ne récupère rien.
Si vous avez une petite idée, je pense que ça n'est pas grand-chose et que je m'y prends très mal. :?
Par avance merci pour toute réponse.
Re: Shell et perl problème d'interpolation de variable.
Et comme ça ?
Code:
1 2 3
| #!/bin/bash
CYL="/dev/hdb: 2434 cylindres, 255 têtes, 63 secteurs/piste"
perl -e '$ENV{CYL} =~ m/\b([\d]+)/; print $1;' |
Re: Shell et perl problème d'interpolation de variable.
Alors exporte CYL !
Code:
1 2 3
| #!/bin/bash
export CYL="/dev/hdb: 2434 cylindres, 255 têtes, 63 secteurs/piste"
perl -e '$ENV{CYL} =~ m/\b([\d]+)/; print $1;' |
Re: Shell et perl problème d'interpolation de variable.
Citation:
Envoyé par 2Eurocents
Alors exporte CYL !
Et, j'avais pas vu, corrige ton expression rationnelle : tu n'as pas besoin des [ ].
Code:
1 2 3
| #!/bin/bash
export CYL="/dev/hdb: 2434 cylindres, 255 têtes, 63 secteurs/piste"
perl -e '$ENV{CYL} =~ m/\b(\d+)/; print $1;' |
Ca fonctionne, j'ai testé 8)
Re: Shell et perl problème d'interpolation de variable.
Citation:
Envoyé par 2Eurocents
Alors exporte CYL !
Code:
1 2 3
| #!/bin/bash
export CYL="/dev/hdb: 2434 cylindres, 255 têtes, 63 secteurs/piste"
perl -e '$ENV{CYL} =~ m/\b([\d]+)/; print $1;' |
Juste avant que tu ne me réponde ça j'avais exporté la variable et en effet ça fonctionne !
Merci Beaucoup pour vos réponses ! :D