Читать строки для переменных в Expect Script - PullRequest
0 голосов
/ 18 мая 2018

Я пытаюсь написать сценарий ожидания (впервые), и я пытаюсь прочитать строки из текстового файла (input.txt) и назначить их в качестве определенных переменных в сценарии ожидания. Мой текстовый файл принимает данные из веб-приложения и будет содержать ровно 5 строк (5 переменных для моего сценария). Поскольку я уже знаю, что представляет каждая строка, я хочу создать для них переменные с конкретными именами ..

строка 1 - $ user

строка 2 - это $ password

строка 3: $ logs1

строка 4 - $ logs2

строка 5 - это $ containerName

Я посмотрел по этой ссылке: Считайте файл в String и выполните цикл в Expect Script и увидите, что они использовали

    set f [open "host.txt"]
    set hosts [split [read $f] "\n"]
    close $f

собирать из файла имена всех хостов и просто повторять их в цикле, но как мне назвать каждую строку по-разному в зависимости от того, что эта строка представляет?

Ответы [ 2 ]

0 голосов
/ 18 мая 2018

Самый простой метод - просто:

set f [open "host.txt"]
gets $f user
gets $f password
gets $f logs1
gets $f logs2
gets $f containerName
close $f

Подробнее см. https://www.tcl.tk/man/tcl8.5/tutorial/Tcl24.html

0 голосов
/ 18 мая 2018

В вашем примере hosts - это список элементов.Доступ к отдельным элементам осуществляется с помощью команды lindex .Пример:

set user [lindex $hosts 0]
set passwd [lindex $hosts 1]
...