Доступ к экранам вперед и назад с помощью скрипта bash

Доступ к экранам вперед и назад с помощью скрипта bash

Я создал несколько screenдля запуска одного и того же фрагмента кода с разными параметрами. То, как я это делаю сейчас, это вручную присоединяю один экран, передаю команду и аргументы, а затем Ctrl a+dотсоединяю этот экран. Затем снова присоединяю другой экран и снова передаю аргументы и отсоединяюсь от этого экрана. Возможно ли написать скрипт bash, чтобы автоматически выполнять весь этот процесс?

решение1

Создание нескольких screenсеансов, вероятно, не лучший вариант. Screen поддерживает идею размещения нескольких окон в одном сеансе, что упрощает обработку таких коллекций. Есть и ^A 1т ^A 2. д. ^A 'и ^A "для переключения между окнами и ^A wих перечисления.

При использовании сеанса с одним экраном вы можете запустить сеанс, а затем команды внутри него, например:

#!/bin/sh
screen -d -m -S test
screen -S test -X screen -t title somecommand someargs...
screen -S test -X screen -t othertitle somecommand otherargs

screen -d -mначинает новый отсоединенный сеанс, -Sдает сеансу имя или ссылается на него по имени. -Xотправляет оставшуюся часть командной строки как команду запущенному сеансу, а screenкоманда (внутри screen) открывает новое окно и запускает там команду. -tможет использоваться с screenдля приданияокноЗаголовок.

Или вы можете поместить команды screenв файл, а затем использовать :sourceдля запуска файла (аналогично .screenrc). Смотрите руководство для некоторых примеров и ссылок на команды, screenкоторые поддерживаются. (Их полно.)

Связанный контент