Como você está usando um heredoc entre aspas, o shell não expande a variável do shell $hostname
. Faça isso: passe a variável para esperar pelo ambiente
export hostname
for hostname in ABCD123 ABCD234 ABCD445
do
expect << 'EOS'
set hos $env(hostname) ;# access the environment variable
spawn ssh padmin@$hos
expect "Password:"
send "ABC1234\r"
expect "$"
send "oem_setup_env\r"
expect "#"
send "lsmcode -A | sed -e 's/^/$hos: /'\r"
expect "#"
send "exit\r"
expect "$"
send "exit\r"
expect eof ;# wait for the connection to close
EOS
done
Automaticamente, você usa \r
para "pressionar" para os comandos de envio.