Utilizo diferentes sesiones de pantalla para diferentes proyectos. Pantalla de inicio como screen -S project1. Ahora, me gustaría mencionar 'project1' en la línea hardstatus.
Nombre de la sesión se puede obtener a partir de la variable de entorno STY: STY=13539.project1.
¿Pero cómo llevar esto a la pantalla? He intentado el comando de retroceso y% `en estado duro, pero parece que no puedo hacerlo bien.
Lo que hice:
.screenrc:
hardstatus string '%H:%`'
backtick 0 30 30 echo $STY
sin suerte, vacio% `.
backtick 0 30 30 sessionname
sigue sin suerte, nombre de sesión: no encontrado
fuente

backtick: (1.) ¿esbacktickun bash incorporado? un comando gnu-screen? un ejecutable binario? ¿hay una página de manual? (2.) Sé que funciona porque lo probé, pero ¿cómo se ejecuta un comando de dos líneas cuando parece que la.screenrcsintaxis de gnu-screen requiere una línea para elhardstatuscomando? (3.) ¿cómo modificaría su comando para permitir agregar texto después del nombre de la sesión?backtickes unscreencomando. Búscalo en la página del manual parascreen. Puede ser mejor si publica una nueva pregunta sobre el resto de lo que está preguntando. No creo que la salida de estado duro pueda ocupar dos líneas en la pantalla. Podría usarsedo enawklugar degrephacer lo quegrepestá haciendo en mi ejemplo y también agregar texto adicional.%`y elbacktickser en líneas separadas ... no parecían relacionados, pero ahora que leí la documentaciónbacktick, veo que los dos están relacionados / necesarios / sintaxis válida (aunque la sintaxis es bastante extraña IMO).Para mí, esto funciona fácilmente con la inserción
%Sen el estado duro.MWE (.screenrc):
Sin embargo, esto muestra el nombre de la sesión sin la ID (como
${STY#*.}); en su ejemplo:project1.(La misma respuesta a otras preguntas aquí y aquí para completar).
fuente