
У меня есть bash-скрипт, который запускает три процесса, например:
CD FOO_DIR && ./run-foo
CD BAR_DIR && ./run-bar
CD BAZ_DIR && ./run-baz
Мне нужен инструмент, который разделяет родительскую оболочку на три секции (горизонтально или вертикально — разницы нет) и показывает вывод каждого дочернего процесса в каждой секции соответственно.
Существует ли такой инструмент?
решение1
Как уже было сказано, экран должен соответствовать вашим потребностям.
Создайте файл конфигурации экрана, который выглядит следующим образом:
startupmessage off
split
split
screen -t top top # -t <title> <command>
screen -t netstat watch netstat -tanp
screen -t date watch date
select top # In the first screen show the screen titled 'top'
focus down # Focus down to next screen
select netstat # Show screen titled 'netstat'
focus down # Focus down to the next screen
select date # Show the screen titled date
Давайте назовем этот файл screen_run
. Затем просто запустите screen. Параметр -c указывает файл конфигурации для использования :
screen -c screen_run
Если вам нужны вертикальные разделения, вы можете использовать split -v
вместо split
.
Видетьhttps://www.gnu.org/software/screen/Чтобы получить больше информации.
решение2
В дополнение к screen
, вы можете захотеть проверитьtmux
также. У каждого есть свои сильные и слабые стороны, и вы можете предпочесть один способ управления расколами другому.