Existe-t-il un moyen de présenter le nom de la session GNU Screen et le titre de la fenêtre dans l'invite du shell (disons, l'invite Bash définie par PS1
)?
bash
gnu-screen
prompt
brandizzi
la source
la source
screen -xr 2466 -X windows
.Ctrl-a A
?screen
a été compilé avec l'-Q
option (requête), vous pouvez exécuter certaines commandes, telles quetitle
etwindows
et afficher les données sur stdout, cependant, sans retour à la ligne.J'utilise toujours des noms de session d'écran précis. Ensuite, je peux ajouter la var STY env de l'écran, avec l'ID numérique supprimé (merci dimo414), à PS1. Je ne le décore pas avec des accolades ou quoi que ce soit parce que je ne suis pas toujours en session. Exemple simple:
la source
J'utilise ceci:
supprime le numéro de processus
${STY}
inclus le numéro de fenêtre (comme mentionné "au moment de la création")
inclut le titre de la fenêtre (tel que renvoyé par
screen -Q title
)Remarques:
screen -Q
attend une touche de retourla source
${STY#[0-9]*.}
évite d'avoir à passer à traverssed
.