Domanda

Vorrei creare uno script prevede che si connette al server tramite telnet e faccia alcune autorizzazioni. Tuttavia ho un problema con l'utilizzo dei parametri di script. Sulla base dell'uomo mi aspettavo che funzionasse:

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

Sfortunatamente torno non riesco a leggere " argv1 " ;: nessuna tale variabile . Come può farlo funzionare?

È stato utile?

Soluzione

$ argv è un elenco Tcl contenente i parametri della riga di comando, indicizzato a partire da 0. Volete:

[lindex $argv 0]

Altri suggerimenti

Gli argomenti della linea Commmand sono forniti come un elenco nella variabile argv, puoi usare lindex per ottenere un elemento da questo elenco, quindi se il primo argomento è l'host a cui telnet, fai:

spawn telnet [lindex $argv 0] 5038

Vedi Variabili fornite dalla shell in Shells e lindex in Liste

Ho ricevuto un errore simile, non è in grado di leggere " argv0 " ;: nessuna tale variabile , quando ho provato a usare $ argv0 in un proc. La soluzione era di accedervi esplicitamente dallo spazio dei nomi globale usando $ :: argv0 .

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top