nixp.ru v3.0

20 октября 2017,
пятница,
00:36:01 MSK

DevOps с компанией «Флант»
Миша написал 17 декабря 2014 года в 20:04 (2342 просмотра) Ведет себя неопределенно; открыл 4 темы в форуме, оставил 3 комментария на сайте.

Надо выполнять некие действия на удаленном хосте. Я буду получать кое-какие переменные в bash. Но их надо будет обрабатывать в expect
/usr/bin/expect -c '
spawn ssh root@192.168.0.1
expect password
send «12345\r»
expect ».»
send «$var\r» —сюда надо вставить переменную ($var), которую я могу получить в bash.

но естественно tcl не понимает что я там напишу в bash. Как я понял мне надо в самом expect скрипте описать переменные. Можно ли как-нибудь переменную из bash записанную ранее запихнуть в tcl?

Скажем вот начало скрипта и тут я записал переменную var
#!/bin/bash
var=500
а тут уже идет запись для expect в tcl
/usr/bin/expect -c '
!!тут как-то надо задать новую переменную которую запишу из переменной var, которая задана выше!! (что бы tcl мог обрабатывать)
spawn ssh root@192.168.0.1
expect password
send «12345\r»
expect ».
»
send «$var\r»
как это сделать?
set var (а вот как прописать что бы значение взято было из переменной bash я не знаю)

fhunter

send «$env(var)\r»

перед этим сделать export var=500

Миша

Спасибо! То, что надо!