comment le $expect_out travaille en TCL/ATTENDRE?
Si je veux correspondre DEF_23
à l'aide de la suite de regexp:
expect {
-re "DEF_\[0-9]*"
set result $expect_out(1,string)
}
pourquoi il est dit aucun élément dans le tableau?
comment ce $expect_out œuvres? et si je veux affecter le résultat comme DEF
, comment obtenir le DEF à l'aide de regexp et de l'affecter à la variable de résultat?
- Vouliez-vous dire pour avoir un supplément accolades autour de la
set
ligne? Sinon c'est un très étrange deexpect
en effet...
Vous devez vous connecter pour publier un commentaire.
Vous êtes à la recherche pour
expect_out(0,string)
-- l'élément de tableau1,string
serait remplie si vous avez eu la capture des parenthèses dans l'expression régulière.La attendre man documents de l'utilisation de expect_out dans la documentation de la attendre commande:
Il y a un exemple dans la page de manuel.
Il semble que cette explication n'est pas précis!
Cochez cette exemple:
Le résultat du test est le même que $expect_out(1,string) ou $expect_out(tampon)est utilisé.
Ai-je raté quelque chose ou c'est le comportement attendu?
Aleksandar - cela devrait fonctionner si vous modifiez le match "\ndb.*$".
Si vous tournez sur exp_internal 1, vous verrez la mémoire tampon contient quelque chose comme ceci: "ls -1 db*\r\ndbupgrade.log\r\n08:46:09"
Donc, l'accent circonflexe (^) permettra de jeter votre correspondance du modèle off.