
En mi archivo .screenrc, tengo esta línea para abrir una ventana de pantalla:
screen -t "normal"
Y esta línea para abrir otra ventana y ejecutar top:
screen -t "top" top
Funcionan bien, así que quería ejecutarlos inmediatamente df && ls -alh
en una tercera ventana, así que coloqué esta línea en .screenrc:
screen -t "df" df && ls -alh
La ventana df nunca aparece, así que pensé que && podría ser la causa del problema y lo probé solo con df.
screen -t "df" df
La ventana df todavía no aparece.
Pregunta: ¿Cómo puedo ejecutar un comando seguido de otro en la misma ventana de pantalla mediante screenrc? Me gustaría que se comportara exactamente como lo hace en bash. Gracias por cualquier consejo.
Respuesta1
Probablemente aparece, pero desaparece después de ejecutarse.
Pruebe lo siguiente:
screen -t "df" bash -c 'df && sleep 50'
Esto mostrará el resultado del df
comando durante 50
unos segundos.
Para tener un df
resultado útil, le recomendaría utilizar watch
:
screen -t "df" watch -n 10 df
Esto se ejecutará df
cada 10 segundos, por lo que tendrá el estado real de su espacio libre en disco en esa terminal.
Respuesta2
Pregunta antigua, pero apareció en los resultados de búsqueda antes que la respuesta que encontré más claraaquí.
Algunas soluciones que funcionaron para mí:
screen -t Files zsh -c 'ls -lahG; exec zsh'
En mi archivo .screenrc, 'exec zsh' abre otro símbolo del sistema en una ventana dentro de una región después de que se completa el comando/proceso 'ls' (similar al comportamiento de escribir manualmente un comando en el shell en una ventana en la pantalla GNU manualmente ; Supongo que es más eficiente que ejecutar un comando de "suspensión", pero agradezco que me corrijan si me equivoco.
screen -t Files zsh -c 'vim .'
Lo anterior funciona para el caso específico de usar 'ls'.