提问人:nkloney 提问时间:10/15/2023 更新时间:10/15/2023 访问量:38
Expect in Bash Script Spawn Id exp4 not open 错误
Expect in Bash Script Spawn Id exp4 not open Error
问:
我收到一个错误,我对期望知道为什么会发生这种情况还不够了解send: Spawn id exp4 not open while executing
脚本:
#!/bin/bash
expect_ssh() {
local ub_serv_ip="192.168.233.132"
local ssh_username="administrator"
local ssh_password="Password123!"
local ub_serv_ip="127.0.0.1"
local ssh_username="nkloney"
local script=$(expect <<EOF
spawn ssh $ssh_username@$ub_serv_ip
expect "*assword:"
send "$password\r"
expect "$ "
send "hostname\r"
expect "$ "
set hostname \$expect_out(buffer)
set hostname [string trim \$hostname]
send "hostname -i\r"
expect "$ "
set ip_address \$expect_out(buffer)
set ip_address [string trim \$ip_address]
send "exit\r"
expect eof
puts \$hostname
puts \$ip_address
EOF
)
local hostname=$(echo "$script" | sed -n '1p')
local ip_address=$(echo "$script" | sed -n '2p')
export SERVER_HOSTNAME="$hostname"
export SERVER_IP_ADDRESS="$ip_address"
}
expect_ssh
echo "Server Hostname: $SERVER_HOSTNAME"
echo "Server IP Address: $SERVER_IP_ADDRESS"
我希望它输出变量,以便我可以在 Bash 脚本中使用它们,但相反,程序需要整整一分钟才能运行,然后输出错误。
答: 暂无答案
评论
[expect]
[expect]
[bash] expect script
expect -d