He creado varios screen
para ejecutar el mismo código con diferentes parámetros. La forma en que lo estoy haciendo ahora es adjuntar manualmente una pantalla, pasar el comando y los argumentos y luego Ctrl a+d
separar esa pantalla. Luego, vuelva a adjuntar una pantalla diferente y nuevamente pase los argumentos y sepárese de esa pantalla. ¿Es posible escribir un script bash para realizar todo este proceso automáticamente?
Respuesta1
Crear varias screen
sesiones probablemente no sea la mejor opción. Screen admite la noción de colocar múltiples ventanas dentro de una sesión, lo que hace que colecciones como esa sean más fáciles de manejar. Hay ^A 1
, ^A 2
etc. ^A '
y ^A "
para cambiar entre las ventanas y ^A w
enumerarlas.
Con una sesión de pantalla, puede iniciar una sesión y luego los comandos internos con 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 -m
inicia una nueva sesión separada, -S
le da un nombre a la sesión o hace referencia a una por su nombre. -X
envía el resto de la línea de comando como un comando a una sesión en ejecución, y el screen
comando (dentro de screen
) abre una nueva ventana y ejecuta un comando allí. -t
se puede utilizar para screen
dar elventanaun título.
O bien, puede colocar los comandos screen
en un archivo y luego usarlos :source
para ejecutar el archivo (similar a .screenrc
). Consulte el manual para ver algunos ejemplos y una referencia sobre los screen
soportes de comandos. (Hay un camión lleno).