executer une commande (facile)... [resolu] [PERL] - Perl - Programmation
Marsh Posté le 04-05-2003 à 15:01:53
pourquoi la commande bash awk ne fonctionne pas en perl
Marsh Posté le 05-05-2003 à 23:14:04
ben alors personne c pourquoi ?
Marsh Posté le 06-05-2003 à 09:06:46
si le code que tu as écris ici est le même que celui que tu utilise, je pense avoir trouvé un pb :
#! /usr/bin/perl
$ip = `"ifconfig ppp0 | grep inet | awk '{print $2}' | awk -F ":" '{print $2}'`;
print "$ip\n";
pourquoi tu nous mets des doubles quotes ici??
Marsh Posté le 06-05-2003 à 11:14:20
simple erreur de typographie
j'ai d'abord fait des tests avant de poster, j'ai donc fait des copié/coller pour écrire ce topic mais dans le prog il n'y sont pas !
tu t'ai arrété sur la derniére proposition mais alors pourquoi les 2 précédentes ne onctionne pas aussi ?
En faite j'ai dégrossit et j'ai trouvé que c'étais la commande "awk" qui ne fonctionne pas quand c'est Perl qui le lance ! mais pourquoi je c pas
Marsh Posté le 06-05-2003 à 13:10:16
heu rassure moi, tu as bien protégé les simples quotes hein??
Ps : si tu pouvais corriger es fautes de typo dans ton premier post, ce serait pluys pratique pour savoir exactement ce que tu as écris!!
Marsh Posté le 06-05-2003 à 13:50:01
il ne faut pas confondre ` et ' l'une permet d'executer une commande systeme (` => AtlGr + 7) et l'autre pour affecter une chaine de caractére ( ' => touche 4 )
sinon je voi ce que tu veux dire !
Marsh Posté le 06-05-2003 à 17:03:38
rassures-toi, je connais très bien la différence entre quotes et backticks. Je m'en suis pas mal servi en Perl (d'ailleurs, c aussi valable en PHP en Bash et aussi sh je crois).
Mais je maintiens qu'il faut protéger les simples et doubles quotes, de même que tout caractère spécial (pour une ligne de comande s'entend)
Marsh Posté le 06-05-2003 à 19:25:11
respect
Code :
|
ca marche !
désolé de t'avoir pris pour une truf
Marsh Posté le 07-05-2003 à 08:59:26
c'est bien ce qu'il me semblait!
m'enfin bon, je t'en veux pas! moi aussi je suis lent à la comprenette de temps en temps!
Marsh Posté le 04-05-2003 à 01:03:53
Salut
Voici mon pb :
Sous linux en commande bash cette ligne marche nikel :
ifconfig ppp0 | grep inet | awk '{print $2}' | awk -F \":\" '{print $2}'
j'ai bien l'IP de ma connexion ADSL.
Hors quand j'exécute l'un de c'est script en Perl :
#! /usr/bin/perl
$ip = exec("ifconfig ppp0 | grep inet | awk '{print $2}' | awk -F \":\" '{print $2}'" );
print "$ip\n";
#! /usr/bin/perl
$ip = system("ifconfig ppp0 | grep inet | awk '{print $2}' | awk -F \":\" '{print $2}'" );
print "$ip\n";
#! /usr/bin/perl
$ip = `ifconfig ppp0 | grep inet | awk '{print $2}' | awk -F ":" '{print $2}'`;
print "$ip\n";
j'obtiens toujours le même résultat :
inet addr:193.253.62.197 P-t-P:193.253.62.1 Mask:255.255.255.255
pk?
certain me dirons : "bou le nul, il c meme pas programmer ! tiens une solus pour un nase :"
ca marche nikel mais ce ne me dit pas pourquoi l'autre ne marche pas
j'ai deja vu ce topic mais il ne m'interresse pas !
http://forum.hardware.fr/forum2.ph [...] subcat=392
Edit : correction d'une enormité !
Message édité par stef_dobermann le 06-05-2003 à 19:26:18
---------------
Tout à commencé par un rêve...