[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [shell-script] bash + expect, dificuldade para obter variável
From: |
celo |
Subject: |
Re: [shell-script] bash + expect, dificuldade para obter variável |
Date: |
Wed, 23 Feb 2011 07:33:00 -0800 (PST) |
Acho que vc errou ao definir a variavel host tipo lista
como eh uma lista que vai ser usada num for vc define assim
host=(111.1.1.1 222.2.2.2)
e usa $env(${host[@]})
Marcelo S. (TT)
http://celo.wordpress.com
________________________________
From: Alexsandro Felix <address@hidden>
To: address@hidden
Sent: Wed, February 23, 2011 10:27:28 AM
Subject: [shell-script] bash + expect, dificuldade para obter variável
Olá.
Estou usando o expect juntamente com o bash para me conectar em um sistema e
executar alguns comandos, neste caso em específico, estou montando um script
para mudar periodicamente as senhas do usuário desejado. No momento tenho o
seguinte código:
#!/bin/bash
> export user=xxxxxx
export senhaoriginal=xxxxxxxxxxxx
export senhanova=yyyyyyyyyyyy
export rbs="000.000.000.000
111.111.111.111"
export porta=222222
for host in $rbs;
do expect -c '
spawn -noecho ssh $env(user)@$env(host) -p $env(porta) /user set $env(user)
> password=$env(senhanova);
expect "ssword:"
send $env(senhaoriginal)\r
interact
'
done
Porém ao executá-lo não consigo passar corretamente a váriável $host pegando
os dados fornecidos em $rbs pelo comando *for*, vejam a mensagem de erro:
$ ./senhas-rbs.sh
no such variable
(read trace on "env(host)")
invoked from within
"spawn -noecho ssh $env(user)@$env(host) -p $env(porta) /user set $env(user)
> password=$env(senhanova)"
no such variable
(read trace on "env(host)")
invoked from within
"spawn -noecho ssh $env(user)@$env(host) -p $env(porta) /user set $env(user)
> password=$env(senhanova)"
Desde já grato pelas sugestões.
Atenciosamente
Felix
http://blog.ffelix.eti.br
[As partes desta mensagem que não continham texto foram removidas]
[As partes desta mensagem que não continham texto foram removidas]