Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2771 connectés 

  FORUM HardWare.fr
  Linux et OS Alternatifs
  Codes et scripts

  [Pas résolu !] Problème de script Bash dans script Perl

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Pas résolu !] Problème de script Bash dans script Perl

n°997283
iwak
Vieux motard que jamais
Posté le 03-01-2008 à 12:33:22  profilanswer
 

Bonjour !
 
J'ai un petit soucis assez genant, je suis en train creer un plugin pour Nagios, et pour cela je dois utiliser une commande bash dans mon script. J'utilise donc la commande system. Mais cette commande me balance un retour à la ligne indésirable, et lorsque j'exécute le script... ba ca coince !
 

Code :
  1. system "./check_tcp 192.168.1.1 -p 630 -s $mot -e $password";


 
Le résultat:
 

Code :
  1. root@linux:/usr/lib/nagios/plugins# ./check_blabla
  2. ./check_tcp 192.168.1.1 -p 630 -s NnB2b2FxdlV4SZ5i1lE5936KegI5/vs=
  3. -e cHZvYXF2
  4. TCP OK - 0,000 second response time on port 65530|time=0,000348s;0,000000;0,000000;0,000000;10,000000
  5. sh: -e: not found


 
Help ! Comment virer ce $#1*$ de retour à la ligne ?
 
Merci !

Message cité 1 fois
Message édité par iwak le 03-01-2008 à 15:55:36
mood
Publicité
Posté le 03-01-2008 à 12:33:22  profilanswer
 

n°997288
zecrazytux
Posté le 03-01-2008 à 13:16:54  profilanswer
 

ça ne vient pas de $mot par hasard ?


---------------
Blog photo/récits activités en montagne http://planetcaravan.net
n°997295
iwak
Vieux motard que jamais
Posté le 03-01-2008 à 13:35:29  profilanswer
 

Il n'y a pas de retour à la ligne dans $mot pourtant :/

n°997323
iwak
Vieux motard que jamais
Posté le 03-01-2008 à 14:07:36  profilanswer
 

Résolu ! un chomp($mot) et ca roule ! :p

n°997346
black_lord
Modérateur
Truth speaks from peacefulness
Posté le 03-01-2008 à 14:50:31  profilanswer
 

c'est crade de faire un plugin nagios comme ça, en passant


---------------
uptime is for lousy system administrators what Viagra is for impotent people - mes unixeries - github me
n°997398
iwak
Vieux motard que jamais
Posté le 03-01-2008 à 15:56:17  profilanswer
 

En fait mon problème n'est pas résolu... le "-e cHZvYXF2" n'est pas pris en compte...
 
@black_lord: en quoi c'est crade ?

n°997402
franceso
Posté le 03-01-2008 à 15:59:25  profilanswer
 

iwak a écrit :

Code :
  1. system "./check_tcp 192.168.1.1 -p 630 -s $mot -e $password";


De manière générale, dans ce genre de cas il est préférable d'utiliser la version multi-arguments de system:

Code :
  1. my $ret = system ("./check_tcp", "192.168.1.1", "-p", "630", "-s", $mot, "-e", $password);

Comme ça tu n'as pas de problèmes si $mot et $password contiennent des espaces


---------------
TriScale innov
n°997425
iwak
Vieux motard que jamais
Posté le 03-01-2008 à 16:21:58  profilanswer
 

1000 merci ! Ca marche !

n°997616
matafan
Posté le 04-01-2008 à 09:32:05  profilanswer
 

franceso a écrit :

Comme ça tu n'as pas de problèmes si $mot et $password contiennent des espaces


Et en plus c'est plus efficace puisque Perl n'a pas besoin de fork/exec un shell.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Linux et OS Alternatifs
  Codes et scripts

  [Pas résolu !] Problème de script Bash dans script Perl

 

Sujets relatifs
Probléme avec munin.Probleme swap lors de l'installation ubuntu
probleme windows XP sur raid > drivers sata nvraid[resolu] kde wallet et navigateur web
script qui appelle un autre script ?????[VPN] Netgear problème de connexion et d'accès partage
Debian - net install problème reconnaissance disque durproblème pour graver des dvd sous k3b
[AD] Script pour créer des profils itinérants[RESOLU] Bash : trappage de message
Plus de sujets relatifs à : [Pas résolu !] Problème de script Bash dans script Perl


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR