LINUX.ORG.RU

Вопрос по expect

 


0

1

доброго дня!

Есть скриптик для автоматизации телнет подключения

#!/usr/bin/expect -f

set timeout 20
set ip [lindex $argv 0]
set port 23
set user root
set password pass
set DATE [exec date +%Y_%m_%d_%H:%M]

spawn telnet $ip $port
log_file -noappend /var/log/clients/$DATE-$ip
expect "'^]'."
sleep .1;
send "$user\r"
expect "ord:"
send "$password\r";
expect -re ">|#"
interact {
        \177 {send "\010"}
        "\033\[3~" {send "\177"}
        }

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

тоесть когда печатаеш, не видно того что печатается, но текст вводится и комманду выполнить можно

на многом другом оборудовании вводимый текст виден. как профиксить? Может это зависит от строки приглашения?

она такая:

Client#1>


Последнее исправление: quntm (всего исправлений: 1)
Ответ на: комментарий от quntm

В принципе нашел вариант, в нутри bash скрипта:

clients() {
        ip=`xsel -b`
        date=`date +%Y_%m_%d_%H:%M`
        /usr/bin/expect -c "
        spawn telnet $ip
        log_file -noappend /var/log/clients/$date-$ip
        expect \"Login:\"
        send \"root\r\"
        expect \"assword:\"
        send \"pass\r\"
        expect \">\"
		interact {
        \177 {send "\010"}
        "\033\[3~" {send "\177"}
        }"
}
Но необходимо, чтобы backspace работал как ^H, а если в interact это прописывать то при нажатии backspace пишутся сивмолы 010. Как профиксить это?))

quntm
() автор топика
Ответ на: комментарий от quntm

Вопрос решен подручными средствами. установлен terminator и в настройку профиля добавил

backspace_binding = control-h
quntm
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.