Страница 1 из 1

expect

Добавлено: 2009-11-25 20:18:55
popka
всем привет не как не могу понять как мне использую язык TCL написать такую конструкцию

Код: Выделить всё

host egorka.homeip.net | awk '{print $4}'
пишу так всё отлично.

Код: Выделить всё

#!/usr/local/bin/expect -f
send [exec host egorka.homeip.net]
expect eof

но когда хочу использовать вот так

Код: Выделить всё

#!/usr/local/bin/expect -f
send [exec host egorka.homeip.net | awk '{print $4}' ]
expect eof

то сразу

Код: Выделить всё

%./test2
can't read "4": no such variable
    while executing
"exec host egorka.homeip.net | awk '{print $4}'"
    invoked from within
"send [exec host egorka.homeip.net | awk '{print $4}']"
    (file "./test2" line 2)
%


я так понял он ругается на | но как мне это обойти?

Re: expect

Добавлено: 2009-11-25 22:02:44
Alex Keda
awk c этой стороны делать

Re: expect

Добавлено: 2009-11-26 13:11:33
popka
решили вот так вот

Код: Выделить всё

#!/usr/local/bin/expect
log_user 1
set a [exec host egorka.homeip.net | awk "{print \$4}" ]
set results $a
send $a
send [exec ping $a]
expect eof

ругался на переменную $4 так как считал её своей