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
- Mas script - Accueil - Windows
- Ghost script - Télécharger - Polices de caractères
- Bingo bash free - Télécharger - Divers Jeux
- Script cmd - Guide
2 réponses
dubcek
Messages postés
18785
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
6 mai 2025
5 631
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
6204
Date d'inscription
mercredi 15 septembre 2004
Statut
Contributeur
Dernière intervention
27 février 2025
1 104
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
6204
Date d'inscription
mercredi 15 septembre 2004
Statut
Contributeur
Dernière intervention
27 février 2025
1 104
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