Cómo volver a conectarse a la session de 'pantalla' o iniciar un nuevo command

Desde que comencé a usar la screen para iniciar el cliente de correo electrónico en modo de text (console) (es decir, alpine ), nunca he perdido el correo electrónico parcialmente escrito debido a la desconnection de la networking. Muy útil.

Sin embargo, el inicio del cliente de correo electrónico ahora está un poco involucrado:

  1. Verifique si hay una session anterior con screen -list
  2. Dependiendo del paso anterior:
    • Si hay uno, vuelva a conectar con la screen -U -r <number>
    • Si no hay uno, comience el cliente de correo electrónico con la screen -U alpine

¿Cómo puedo simplificar estos pasos para poder ejecutar solo commands simples (script simple), es decir start_or_reconnect alpine ? Podemos suponer que si hay más de una session activa, es un error, o simplemente use la primera …

Use un nombre de session explícito (opción -S ) y use -RR para volver a conectar a una session existente o crear una si no hay ninguna.

 alias m='screen -S alpine -d -RR alpine' 

Rápido y estúpido:

 #!/bin/sh ARG=`screen -list | grep Detached | awk '{print $1}'` if [ -z "$ARG" ]; then screen -U alpine else screen -U -r $ARG fi