Pergunta

Eu gostaria de criar um esperar script que se conecta ao servidor via telnet e faz alguma autorização. Eu tenho um problema com o uso de parâmetros de script embora. Baseado no homem que eu esperava que este trabalho:

#!/usr/bin/expect -f
spawn telnet $argv1 5038
...

Infelizmente eu voltar can't read "argv1": no such variable. Como podem fazer este trabalho?

Foi útil?

Solução

$argv é uma lista Tcl segurando os parâmetros de linha de comando, indexados começando de 0. Você quer:

[lindex $argv 0]

Outras dicas

commmand argumentos de linha são fornecidas como uma lista em argv variável, você pode usar lindex para obter um elemento nesta lista, por isso, se o primeiro argumento é o anfitrião para telnet para, fazer:

spawn telnet [lindex $argv 0] 5038

Veja Shell forneceu as variáveis ?? em Shells e lindex em Listas

Eu tenho um erro semelhante, can't read "argv0": no such variable, quando eu tentei usar $ argv0 em um proc. A solução foi acessá-lo explicitamente a partir do namespace global usando $::argv0.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top