euh... un p'tite question... [expect] - Programmation
Marsh Posté le 30-05-2001 à 15:48:00
beuh?!?
Marsh Posté le 30-05-2001 à 16:57:47
Boah, non, c'est pas forcément le mauvais forum, la programmation Shell
T'as essayé $1, $2 et $3 ?
Marsh Posté le 30-05-2001 à 17:04:19
Oui je confirme j'ai vérifié dans un bouquin de prog shell UNIX:
$0 : la commande
$1,$2,... : 1er, 2ème,... paramètre passé au script (jusqu'à 10 maxi en général)
$* : tous les paramètres sous la forme d'un seul argument
$# : le nombre de paramètres passés au script
Marsh Posté le 30-05-2001 à 17:07:00
j'essaie.
Marsh Posté le 30-05-2001 à 17:14:14
marche pô...
voilà ce que je fais:
script speak:
#!/usr/bin/expect -f
send $1
send "\n"
send $2
send "\n"
en espérant ceci:
$speak 1 2
1
2
$_
et beh que dalle...
j'ai:
can't read "1": no such variable while executing "send $1" (file "./speak" line 2)
gRrRrRrrr...
soit soit soit... je vais chercher (mieux) dans le man pour découper les arguments.
merci quand même
Marsh Posté le 30-05-2001 à 17:22:09
Attends ! $1, $2, ... sivent être utilisés à l'INTERIEUR de la chaîne que tu veux afficher !
Par exemple, ton script devrait être :
send "Premier param : $1 \n"
send "Deuxieme param : $2 \n"
Marsh Posté le 30-05-2001 à 17:29:46
o-oh...
Marsh Posté le 30-05-2001 à 17:30:26
nope... no such variable... argv est donc bien une var system pour expect... et à mon avis, il faut trouver l'astuce pour découper en rondelles le String passé en arg...
[edit]--Message édité par TBone--[/edit]
Marsh Posté le 30-05-2001 à 17:36:38
Euh, je ne connais pas trop expect, mais la commande echo n'existe pas dans ce shell ?
Parce que la syntaxe que je t'indiquais plus haut marche sans problème avec echo (testé et approuvé )
[edit]--Message édité par irulan--[/edit]
Marsh Posté le 30-05-2001 à 17:42:47
echo ~ send
en fait; expect te remplace... send c'est comme si tu le tapais quand on le demande...
(sauf si c'est une commande, c'est spawn dans ce cas... je débute alors douuuuuucement hein!
Marsh Posté le 31-05-2001 à 08:51:45
echo n'existe pas dans ma doc...
et puis, le but final n'est pas d'imprimer mes args un à un mais de les intégrer à un script plus complet...
bon, je vais ...euh... lire... de la doc... mais où ?
@+
[edit]--Message édité par TBone--[/edit]
Marsh Posté le 31-05-2001 à 11:18:56
j'avance... c'est basé sur TCL... comment passe-t-on des args en ligne de commande en TCL ???
Marsh Posté le 31-05-2001 à 12:00:54
ça y est !!!
c'est lindex $argv n°argument
Marsh Posté le 30-05-2001 à 13:57:51
chalut,
j'expecte un peu (linux/expect1.1) mais j'ai un petit souci...
je fais un script expect et je voudrais utiliser des arguments que je tape à l'appel de ce script. (toto arg1 arg2 arg3)
comment faire pour les faire passer ???
pour l'instant j'utilise $argv mais dans ce cas arg1 arg2 et arg3 ne font qu'un seul argument.
comment faire pour les découper ??? j'ai essayé $argv[0]... et que dalle...
une info ?
---------------
A straight line is a special case of a curve. It's a curve which is uncurved. -- Susskind.