Script qui fonctionne en bash mais pas en Perl sniff...
Résolu/Fermé
LezardMoo
Messages postés
554
Date d'inscription
mercredi 5 janvier 2011
Statut
Membre
Dernière intervention
21 janvier 2015
-
6 nov. 2013 à 00:49
LezardMoo Messages postés 554 Date d'inscription mercredi 5 janvier 2011 Statut Membre Dernière intervention 21 janvier 2015 - 8 nov. 2013 à 22:21
LezardMoo Messages postés 554 Date d'inscription mercredi 5 janvier 2011 Statut Membre Dernière intervention 21 janvier 2015 - 8 nov. 2013 à 22:21
A voir également:
- Script qui fonctionne en bash mais pas en Perl sniff...
- Script vidéo youtube - Guide
- Ghost script - Télécharger - Polices de caractères
- Microsoft activation script - Accueil - Windows
- Script bat - Guide
- Denon perl pro test - Accueil - Audio
2 réponses
dubcek
Messages postés
18758
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
24 décembre 2024
5 623
6 nov. 2013 à 14:23
6 nov. 2013 à 14:23
hello
vérifier ce que retourne, en ligne de commande:
vérifier ce que retourne, en ligne de commande:
ls -l /dev/disk/by-uuid/ | grep 4489-7E11et dans perl:
if("$uuid" =~ /${u}/)
[Dal]
Messages postés
6198
Date d'inscription
mercredi 15 septembre 2004
Statut
Contributeur
Dernière intervention
13 décembre 2024
1 096
Modifié par [Dal] le 7/11/2013 à 11:24
Modifié par [Dal] le 7/11/2013 à 11:24
Salut LezardMoo,
CCM transforme les backticks (AltGr - 7) en ', mais je suppose que ton
On peut les remplacer avec l'opérateur équivalent qx.
Cependant, ton problème est que le résultat de
Donc, il faudrait juste faire
et dans la boucle while, et avant le if :
Par ailleurs, les accolades sont inutiles dans
Dal
CCM transforme les backticks (AltGr - 7) en ', mais je suppose que ton
my $uuid = 'ls -l /dev/disk/by-uuid/';est bien avec des apostrophes arrières.
On peut les remplacer avec l'opérateur équivalent qx.
Cependant, ton problème est que le résultat de
lsn'est évalué que lors de la déclaration de $uuid et non pas à chaque itération de la boucle.
Donc, il faudrait juste faire
my $uuid;avant la boucle.
et dans la boucle while, et avant le if :
$uuid = qx(ls -l /dev/disk/by-uuid/);
Par ailleurs, les accolades sont inutiles dans
if("$uuid" =~ /${u}/), il suffit de te référer à
$u.
Dal
[Dal]
Messages postés
6198
Date d'inscription
mercredi 15 septembre 2004
Statut
Contributeur
Dernière intervention
13 décembre 2024
1 096
7 nov. 2013 à 13:10
7 nov. 2013 à 13:10
Les guillemets aussi, d'ailleurs. Donc
if ($uuid =~ /$u/) {suffit.
LezardMoo
Messages postés
554
Date d'inscription
mercredi 5 janvier 2011
Statut
Membre
Dernière intervention
21 janvier 2015
14
8 nov. 2013 à 22:21
8 nov. 2013 à 22:21
Salut [Dal],
tout simplement Merci !
en plus dans le bash le test est dans la boucle ^^
Merci aussi pour l'opérateur, très pratique.
Bonne continuation ( :
tout simplement Merci !
en plus dans le bash le test est dans la boucle ^^
Merci aussi pour l'opérateur, très pratique.
Bonne continuation ( :
8 nov. 2013 à 22:08