期待版本5.45
大家好,我写了一个简单的expect脚本,用自动密码输入在远程linux服务器上执行命令。我想知道如何在命令为" send"之后从远程服务器获取返回值。来自当地。
代码:no_interact_cmd.sh
#!/usr/bin/expect
#usage: no_interact_cmd.sh ip_address username password command
set ip_address [lindex $argv 0]
set username [lindex $argv 1]
set password [lindex $argv 2]
set command [lindex $argv 3]
spawn ssh ${username}@${ip_address}
expect "*password:"
send "${password}\n"
expect "*]#"
send "${command} \n"
expect "*]#"
send "exit\n"
interact
例如,我想知道远程服务器的主机名:./no_interact_cmd.sh 192.?.?.? root *** 'hostname'
。
remote_server的主机名,但是有许多其他无用的交互信息,我怎样才能从send "${command} \n"
获得返回值?我的意思是./no_interact_cmd.sh 192.?.?.? root *** 'hostname'
如何直接在远程服务器上返回${command}
的值?
由于