Rechercher : dans
Par :

[Perl]-Lancer une commande interactive

Dernière réponse le 22 nov 2007 à 11:52:03 blux, le 21 nov 2007 à 15:58:22 
 Signaler ce message aux modérateurs

Bonjour,

comment lancer une commande interactive unix sous perl et récupérer les résultats dans une variable ?

En shell, je fais un truc comme ça :

$RESUOK=`toto <<fin 2>&1
show a
print w
quit
fin`;
Mais en perl ?

Merci d'avance.

A+ Blux
 "Les cons, ça ose tout.
C'est même à ça qu'on les reconnait"

Meilleures réponses pour « [Perl] Lancer une commande interactive » dans :
Lancer des commandes en mode Administrateur sous Vista VoirComme dans les versions précédentes de Windows, le champ "Exécuter" présent dans le menu Démarrer de Windows Vista, permet d'exécuter des commandes du système. Par défaut, ces commandes sont exécutées en utilisant les privilèges de...
[Windows] Activation de Windows XP VoirPour déterminer si votre version de Windows est activée ou non, il suffit de cliquer sur Démarrer, Exécuter, puis de lancer la commande suivante : C:\windows\system32\oobe\msoobe /a S'il est correctement activé, il est possible de créer des...
[Windows] Démarrer/arrêter un service en ligne de commande VoirL'outil netsh (netsh.exe) permet d'automatiser le démarrage ou l'arrêt d'un service grâce à la ligne de commande suivante : Pour démarrer un service : Net start nom_du_service Pour arrêter un service : Net stop nom_du_service Cela nécessite les...
Les commandes AS/400 VoirLes commandes de l’AS/400 Il existe environ un millier de commandes dans l'OS/400, regroupées sous le nom de « Langage de Contrôle ». Un utilisateur pourra les lancer depuis la ligne Option ou Commande située au bas de l'écran, quand celle-ci est...

1

lami20j, le 21 nov 2007 à 19:07:21

Salut,

La syntaxe et la suivante

$variable = qx /commande/;
ou
$variable = `commande`

lami20j

Répondre à lami20j

2

blux, le 21 nov 2007 à 21:37:08

Et je sépare comment les différentes réponses ? avec un saut de ligne comme en shell ?

A+ Blux

 "Les cons, ça ose tout.
C'est même à ça qu'on les reconnait"

Répondre à blux

3

lami20j, le 21 nov 2007 à 21:42:32

J'aimerai bien que tu m'expliques ce que fait ta commande en shell pour pouvoir te donner une réponse exacte ;-)
lami20j

Répondre à lami20j

4

blux, le 21 nov 2007 à 22:41:46

J'appelle toto, mais c'est une commande interactive, elle attend des actions de ma part, donc je les mets à la ligne les unes par rapport aux autres, mais en ayant dit au shell que les commandes sont à lire dans le pseudo-fichier d'entrée nommé fin.

Ca pourrait donner un truc comme ça :

root#toto
toto>show a
toto>a to be shown
toto>print w
w=12
a=15
toto>quit
root#

A+ Blux

 "Les cons, ça ose tout.
C'est même à ça qu'on les reconnait"

Répondre à blux

5

blux, le 22 nov 2007 à 11:23:50

J'avais pas testé mais ça marche pareil qu'en shell ! :-)

A+ Blux

 "Les cons, ça ose tout.
C'est même à ça qu'on les reconnait"

Répondre à blux

6

 lami20j, le 22 nov 2007 à 11:52:03

Justement j'étais en train de me demander, pourquoi tu n'as pas essayé ;-)
Tant mieux que ça marche ;-)

Tu peux mettre résolu ;-))
lami20j

Répondre à lami20j