ожидайте версии 5.45
Привет, я написал простой сценарий ожидаемого выполнения команд на удаленном сервере Linux с автоматическим вводом пароля.Я хочу знать, как получить возвращенное значение с удаленного сервера после того, как команда "отправила" с локального.
Код: 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'
.
имя хоста удаленного_сервера будет напечатано, но со многими другими бесполезными взаимодействующими данными, как я могу получить возвращаемое значение из send "${command} \n"
?Я имею в виду, как ./no_interact_cmd.sh 192.?.?.? root *** 'hostname'
может вернуть значение ${command}
на удаленном сервере напрямую?
Спасибо