[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bash + expect, dificuldade para obter variável
From: |
Alexsandro Felix |
Subject: |
bash + expect, dificuldade para obter variável |
Date: |
Wed, 23 Feb 2011 10:27:28 -0300 |
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]
- bash + expect, dificuldade para obter variável,
Alexsandro Felix <=