J'essaie de créer une commande qui se lance screen
, crée quatre sessions avec des noms différents et exécute quatre commandes différentes.
Je sais comment faire cela manuellement:
1. screen
2. ./command1 args
3. CTRL-A :sessionname Session 1
4. CTRL-A C
5. (GOTO 2)
Puis-je le faire avec un script bash ou quelque chose? Comment le ferais-je?
linux
bash
gnu-screen
Hughes
la source
la source
.screenrc
réponse ci-dessous aurait dû être acceptée à la place.Pour démarrer automatiquement plusieurs sessions, configurez un
.screenrc
fichier, un fichier de configuration pour l'écran. Dans celui-ci, vous pouvez créer des sessions, démarrer des programmes, changer le répertoire de travail, etc. Je l'utilise pour initialiser ma session d'écran.Exemple simple pour un fichier .screenrc:
Les
screen
commandes ci-dessus créent chacune une session d'écran.-t
définit le titre de la session; le reste de la ligne est la commande à exécuter et ses paramètres.Ainsi, la première et la deuxième
screen
ligne démarrent une session et se lancent à l'vim
intérieur. Le troisième commence juste une session et vous dépose à l'invite.chdir
modifie le répertoire de travail pour toutes les sessions suivantes.Si vous souhaitez avoir plusieurs
.screenrc
fichiers, nommez-les comme vous le souhaitez et sélectionnez-en un avecscreen -c myscreenrc
.la source
Vous pouvez utiliser les options d, m, S ensemble:
S: pour créer un écran
d: se détacher d'un écran
m: pour appliquer la création d'écran, que l'écran soit appelé à partir d'un autre écran ou non.
la source
screen -dmS s1
etc. Je ne savais pas que, lors du regroupement des options, celle avec un argument n'avait pas besoin d'être la dernière.