Aspettati la gestione degli argomenti
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?
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
.