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
- Retour à la ligne bash ✓ - Forum Shell
- Ghost script - Télécharger - Polices de caractères
- Script bat - Guide
- Denon perl pro test - Accueil - Audio
2 réponses
dubcek
Messages postés
18753
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
7 novembre 2024
5 619
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
6194
Date d'inscription
mercredi 15 septembre 2004
Statut
Contributeur
Dernière intervention
11 octobre 2024
1 092
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
6194
Date d'inscription
mercredi 15 septembre 2004
Statut
Contributeur
Dernière intervention
11 octobre 2024
1 092
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