Executer un srript dans PUTTY ?

Executer un srript dans PUTTY ? - Codes et scripts - Linux et OS Alternatifs

Marsh Posté le 07-01-2008 à 15:46:50    

Salut à tous,
A l'aide de l'utilitaire PUTTY j'ai écris un script en PERL, mais je ne connais pas la commande permettant de l'executer.
 
Pouvez-vous m'aider ?
merci bcp  :jap:

Reply

Marsh Posté le 07-01-2008 à 15:46:50   

Reply

Marsh Posté le 07-01-2008 à 15:57:20    

[:ienchangel]
Ben comme tous les scripts...
tu le rends exécutable avec chmod et tu l'exécutes en tapant son nom seulement (s'il est dans ta variable $PATH) ou le nom complet (chemin + nom du script)

 

- soit il est dans ton path et tu peux l'exécuter de n'importe où

nomduscript


- soit il n'est pas dans ton path et tu es obligé de donner le chemin en entier

/home/toto/chemin/vers/le/script


/tmp/script



Message édité par o'gure le 07-01-2008 à 15:59:44

---------------
Relax. Take a deep breath !
Reply

Marsh Posté le 07-01-2008 à 16:01:01    


perl nom_du_programme
si le fichier est eXecutable
./nom_du_programme
nom_du_programme


perl -d nom_du_programme
pour le debug

 

Légèrement grilled mais l'intention était là


Message édité par boobaka le 07-01-2008 à 16:03:18
Reply

Marsh Posté le 07-01-2008 à 16:13:05    

HELLO
donc, en fait, je me connecte à partir de PUTTY sur le serveur où se trouve le script.
Ensuite je tape cette commande :

Code :
  1. chmod check_tempSAVE.pl


 
check_tempSAVE.pl est le script PERL
 
Mais voici ce que me retourne l'interpreteur :
chmod: too few arguments
Try `chmod --help' for more information.

 
 :??:


Message édité par quaresma le 07-01-2008 à 16:13:28
Reply

Marsh Posté le 07-01-2008 à 16:17:24    

chmod +x tonscript.pl

 

chmod --help t'aurais repondu .... cf ton message d'erreur ..


Message édité par boobaka le 07-01-2008 à 16:18:06
Reply

Marsh Posté le 07-01-2008 à 16:17:43    

bon
1.  il faudrait penser à lire un peu de doc sur les commandes de bases sous Unix (google: "commande de base linux" ) et sur les privilèges sous linux (http://fr.wikipedia.org/wiki/Permissions_Unix).

 

2. si une commande te retourne un message, il faut le lire et essayer de le comprendre. La il te dit que tu n'as pas donner assez d'argument et d'essayer chmod --help pour avoir plus d'information.

 

Ensuite : tu tapes

man chmod


Ca te donnera exactement, monnayant un brin de réflexion, la commande exact pour rendre exécutable un fichier (chmod +x  ou chmod 700 par exemple)

 

Après je doute que ton script soit situé dans un répertoire contenu dans la variable $PATH (hop google pour savoir ce qu'est et à quoi elle sert cette variable)

 

donc pour l'exécuter après ca sera

 

./check_tempSAVE.pl   si ton répertoire courant contient le script
/chemin/vers/le/répertoire/duscript/check_tempSAVE.pl


Message édité par o'gure le 07-01-2008 à 16:21:44

---------------
Relax. Take a deep breath !
Reply

Marsh Posté le 07-01-2008 à 16:34:41    

Et pendant qu'on y est.
Si vous lui proposez de passer directement en mode exécutable, il ne faut pas oublier de mettre cette ligne au début :
#!/usr/bin/perl


Message édité par czh le 07-01-2008 à 16:35:05
Reply

Marsh Posté le 07-01-2008 à 16:46:39    

Salut à tous!
OKI merci pour vos réponse.
J'ai tapé

Code :
  1. perl monscript.pl

et ca l'a executé.
 
PARFAIT!! Même si il y a des erreurs...:yaisse2:


Message édité par quaresma le 07-01-2008 à 16:47:02
Reply

Marsh Posté le 08-01-2008 à 09:36:00    

Au fait, voici le script et l'erreur si quelqu'un pouvait m'aider  :pt1cable:  
 

Code :
  1. #!/usr/bin/perl
  2. use strict;
  3. use Net::SNMP;
  4. my ($session, $error) = Net::SNMP->session(
  5.       -hostname  => shift || '192.168.254.250', // Adresse IP de l'onduleur \\
  6.       -community => shift || 'public',
  7.       -port      => shift || 161
  8.                                               );
  9. if (!defined($session)) {
  10.     printf("ERROR: %s.\n", $error);
  11.     exit 1;
  12. }
  13. my $sysUpTime = '1.3.6.1.4.1.705.1.4.7'; // MIB de l'onduleur \\
  14. my $result = $session->get_request(
  15.          -varbindlist => [$sysUpTime]);
  16. if (!defined($result)) {
  17.     printf("ERROR: %s.\n", $session->error);
  18.     $session->close;
  19.     exit 1;
  20. }
  21. printf("sysUpTime for host '%s' is %s\n",
  22.   $session->hostname, $result->{$sysUpTime});
  23. $session->close;
  24. exit 0;


 
 
message d'erreur :
 
ERROR: Received noSuchName(2) error-status at error-index 1.
 
thx

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed