Enviar comandos a una pantalla separada no funciona

Enviar comandos a una pantalla separada no funciona

Estoy intentando crear una pantalla separada y luego enviarle un comando, pero parece que esto no funciona.

Si ingreso los siguientes comandos:

$ screen -ls
No Sockets found in /var/run/screen/S-ec2-user.

$ screen -dmS myscreen
$ screen -ls
There is a screen on:
    9175.myscreen   (Detached)
1 Socket in /var/run/screen/S-ec2-user.

$ screen -S myscreen -X ls

Luego lo adjunté a la pantalla para ver si se ejecutó el comando:

$ screen -r myscreen

Todo lo que obtengo es una línea de comando en blanco, como si nada hubiera pasado.

¿Alguien sabe por qué esto falla y qué comandos puedo usar para que el comando se ejecute dentro de la pantalla?

Nota: Quiero permanecer alejado de la pantalla si es posible y simplemente enviar comandos a la pantalla desde afuera. Esto se debe a que mi plan es ejecutar varias pantallas, utilizando medios automatizados (por ejemplo, script bash).

Respuesta1

Finalmente logré que esto funcionara.

Mirando aalgunos ejemplos de código de screenuso, parece que el parámetro -X espera la palabra: stuffantes del comando real, y además el comando debe estar entre comillas dobles ("xyz").

Además, para ejecutar el comando, la Enterpulsación de tecla debe enviarse junto con él. saliendoeste artículo sobre cómo insertar caracteres especiales, Logré ingresar la pulsación de tecla presionando Ctrl+ V,.Enter

La línea de comando se veía así:

$ screen -S myscreen -X stuff 'ls^M'

información relacionada