2023-10-13

Автоматизизация терминала в Linux

В Линукс существует мега полезная утилита screen. При помощи нее можно создавать виртуальные терминалы в терминале которые будут выполняться фоном так, что можно не бояться что соединение прервется и вы потеряете результат выполнения программы. Однако, команда screen это не просто виртуальный терминал, это нечно большее.

Например, с ее помощью в терминал можно послать команду, выполнить ее и получить результат ее выполнения в тектовый файл. Это можно использовать для автоматическомго тестированиия консольных утилит.

# запускаем screen
screen -S some_window

В другом терминале делаем следующее:

# пишем ls
screen -S some_window -X stuff 'ls'
# посылаем возврат каретки
screen -S some_window -X eval "stuff \015"

Чтобы видеть то что происходит в другом терминале подключаем вывод в файл:

# задаем местоположение файла для вывода
screen -S some_window -p 0 -X logfile ~/filename.txt
# включаем вывод в файл
screen -S some_window -p 0 -X log on

Все что происходит в пользовательской сессии "some_window" будет доступно в файле ~/filename.txt.

 

комментарии:

 

Для того чтобы каждый раз не представляться можно войти как зарегистрированный пользователь.

Имя*

разрешены только теги br, font, span, p, strong, u, p, blockquote, a, div, img - остальные будут безжалостно удаляться