Acessando telas para frente e para trás através do script bash

Acessando telas para frente e para trás através do script bash

Criei vários screenpara executar o mesmo trecho de código com parâmetros diferentes. A maneira como estou fazendo agora é anexar manualmente uma tela, passar o comando e os argumentos e depois Ctrl a+ddesanexar essa tela. Em seguida, anexando novamente uma tela diferente e novamente passando os argumentos e desconectando-se dessa tela. É possível escrever um script bash para fazer todo esse processo automaticamente?

Responder1

Criar múltiplas screensessões provavelmente não é a melhor opção. Screen suporta a noção de colocar várias janelas em uma sessão, o que torna coleções como essa mais fáceis de manusear. Há ^A 1, ^A 2etc. ^A 'e ^A "para alternar entre as janelas e ^A wlistá-las.

Indo para uma sessão de tela, você pode iniciar uma sessão e depois os comandos internos com algo como:

#!/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 -minicia uma nova sessão desanexada, -Sdá um nome à sessão ou refere-se a ela pelo nome. -Xenvia o resto da linha de comando como um comando para uma sessão em execução, e o screencomando (dentro screen) abre uma nova janela e executa um comando lá. -tpode ser usado para screendar ojanelaum título.

Ou você pode colocar os comandos screenem um arquivo e usá-los :sourcepara executar o arquivo (semelhante a .screenrc). Veja o manual para alguns exemplos e uma referência sobre os screensuportes de comandos. (Há um caminhão carregado.)

informação relacionada