Доброго всем добрым людям!
Стоит задача по опросу из таблицы mariadb (здесь получаю ip-адреса коммутаторов) выполнить на каждом ряд операций. Могу в bash-скрипте выполнить поток expect, но иначе как через аргумент командной строки передать ему каждый из полученных ip-адресов не нашел как. В этом случае тоже проблема , например, надо переменной HOSTS присвоить значение итога выполнения всего скрипта:
HOSTS=$(expect -c '
spawn /usr/bin/mysql -u sa -pAccessp
expect ">"
send "Use Cisco;\n"
expect ">"
send "select IP_switch from Commutator;\n "
expect ">"
set results $expect_out(buffer)
send "exit\n"')
for H in $HOSTS
./expect.exp $H
done
И конечно, оно так не присваивается. Я прям не ожидал, что между bash и expect внутри него не предусмотрели передачу общей «глобальной» переменной. И экспорт полученного results непонятно как выполнить.
Как же решить это?