2015-03-19 4 views
0

Я использовал ожидание в скриптах с ПК Ubuntu для подключения на удаленной плате OMAP3 с Linux ARM BSP. Скрипт работал безупречно. Теперь мы переходим на плату OMAP4, имеющую аналогичный, но другой Linux BSP. Когда я вызываю свой скрипт, я получаю символ нежелательной почты в консоли Ubuntu, которую я не получаю, когда подключаюсь к OMAP3.Получение ненужных charaters при использовании ожидать

Сценарий выглядит следующим образом:

remote_exec() 
{ 
    (
cat <<EOF 
    #strace 4 
    set timeout -1 
    spawn telnet $address 
    expect "login:" 
    send "$username\r" 
    expect "Password:" 
    send "$password\r" 
EOF 
    while [ "$1" ] 
    do 
     echo 'expect "]# "' 
     echo 'send "'$(echo "$1" | sed 's/[$]/\\$/g' | sed 's/["]/\\"/g')'\r"' 
     shift 
    done 
    ) | expect 
} 

remote_exec \ 
    "pwd" \ 
    "echo joie" 

Здесь не выход, когда я подключаюсь к моему OMAP3 плату (т.е. без ошибок):

[email protected]:~/install/HW400$ ./test-expect.sh 172.19.50.97 
spawn telnet 172.19.50.97 
Trying 172.19.50.97... 
Connected to 172.19.50.97. 
Escape character is '^]'. 

SBC-97 login: root 
Password: 
[[email protected] /root]# pwd 
/root 
[[email protected] /root]# echo joie 
joie 
[[email protected] /root]# 

Вот выход при подключении к моему Плата OMAP4 (т.е. появились нежелательные символы):

[email protected]:~/install/HW400$ ./test-expect.sh 172.19.50.62 
spawn telnet 172.19.50.62 
Trying 172.19.50.62... 
Connected to 172.19.50.62. 
Escape character is '^]'. 

SBC-62 login: root 
[[email protected] /home]# p^[[53;22Rwd 
/home 
[[email protected] /home]# e^[[53;22Rcho joie 
joie 
[[email protected] /home]# [email protected]:~/install/HW400$ ;22R;22R;22R 

Сценарий работает правильно, но я получаю барахло символы, такие как ^[[53; 22R и ; 22R. Это могут быть настройки tty на моей плате OMAP4? Что еще может вызвать это? Благодарю.

ответ

0

https://en.wikipedia.org/wiki/ANSI_escape_code говорит, несколько двусмысленно:

Xterm отвечает CSI row ; column R, если просили позиции курсора и CSI 1 ; modifiers R если клавиша F3 нажата с модификаторами, которые сталкиваются в случае строки == 1. Это можно избежать используя? частный модификатор, который будет отражен в ответе

Попробуйте добавить эту строку перед spawn:

set env(TERM) vt100 
+0

Спасибо, но это не влияет на ранее описанное поведение. Я попробую в этом направлении. – Joie

+0

VT100s также ответил бы с положением положения курсора, поэтому установка 'TERM' не помогла бы. –

 Смежные вопросы

  • Нет связанных вопросов^_^