talvez eu tenha pressa demais. Eu tive que adicionar "set usuário [lindex $ argv 0]" para obter $ 1 variável adicionada no script. obrigado:)
Eu tenho um script bash que pode acessar o switch Cisco e fechar / noshut qualquer porta que eu tenha definido nele.
O que eu quero é que eu possa adicionar variável, como eu posso definir o número da porta em um comando como este:
./cisco.sh 10 #10 is the port number
Mas o script não me permite adicionar nenhuma variável e apresenta o seguinte erro:
can't read "1": no such variable
while executing "set PORT "$1""
Aqui está o código do script que estou usando:
#!/usr/bin/expect -f
set timeout 20
set IPaddress "192.168.0.1"
set Username "zaib"
set Password "zaib"
set PORT "$1"
spawn ssh -o "StrictHostKeyChecking no" $Username@$IPaddress
expect "*assword: "
send "$Password\r"
expect ">"
send "enable\r"
expect "*assword: "
send "$Password\r"
send "conf term\r"
send "interface gigabitEthernet 1/0/$PORT\r"
expect "#"
send "shut\r"
expect "#"
send "exit\r"
expect "#"
send "exit\r"
send "wr\r"
send "exit\r"
exit
talvez eu tenha pressa demais. Eu tive que adicionar "set usuário [lindex $ argv 0]" para obter $ 1 variável adicionada no script. obrigado:)