Как перехватить переменную в ожидаемом скрипте - PullRequest
1 голос
/ 07 апреля 2019

Я пытаюсь перехватить IP-адрес хоста при удаленном последовательном соединении, чтобы позже можно было подключиться к ssh. Но я не очень понимаю, как ожидать работы, и это то, что я придумал до сих пор.

Я пытался использовать опубликованный код, но, похоже, я не могу получить значение var, которое мне нужно, либо оно пустое, либо сама команда.


#!/usr/bin/expect -f
spawn serialconn
expect -re "#"
send "ip addr list eth0 |grep -m1 inet |cut -d' ' -f6|cut -d/ -f1\r"
set ip {} 
expect {
    -regexp {..#} {
        append ip "${ip}$expect_out(0,string)" 
        exp_continue
    }
}
puts $ip
spawn serialconn finished
expect -re "%"
spawn sudo ssh $ip

Вопрос, который я хочу задать, заключается в том, что такое -regexp {.. #} в моем коде (я нашел код и немного его изменил). Если бы кто-то мог объяснить весь процесс, было бы здорово. Спасибо

Я хочу, чтобы IP-адрес был сохранен в переменной, чтобы я мог использовать sudo ssh на хосте.

...