У меня есть скрипт, который регистрируется на устройствах и запускает команду show. Затем я этот вывод переменной:TCL-скрипт сохраняет только нижнюю половину вывода
set output $expect_out(buffer)
, а затем распечатать переменную в файл:
puts $fileId $output
Когда скрипт запускается, я могу увидеть весь выход генерируется, однако в файл, сохраняется только нижняя половина вывода.
Возможно, это связано с тем, что буфер достигает своего предела. Эта команда show работает сразу после другой длинной команды show.
Я пробовал использовать unset expect_out(buffer)
, но это все еще не имеет значения.
Я также пробовал это решение http://wiki.tcl.tk/2958 и он все еще не работал (возвращает ошибку) Как я могу получить скрипт для хранения всего вывода?
Это рискованно, так как я не уверен, насколько большой выход может быть. Это будет зависеть от устройства. Есть ли способ динамически распределять максимальный уровень буферизации в зависимости от результата? – user2883071
Имеет ли ваш компьютер меньше 16 КБ памяти? Мой код должен записывать файл в 16kb фрагментах –