Voici ce que je veux accomplir :
- Je veux ouvrir un terminal gnome avec cinq onglets
- Je souhaite exécuter automatiquement un ensemble de commandes (5 à 10 commandes) dans chaque onglet
Premier onglet :doit définir la vue en clair, puis exécuter une ou plusieurs commandes
Deuxième onglet :doit connectez-vous à un serveur et exécutez quelques commandesTroisième onglet :ne doit exécuter que certaines commandes
gnome-terminal --geometry=260x25-0+0 --tab -e "csh -c "ct setview myViewName; cal"" –tab --tab --tab
(fonctionne bien, la vue est définie mais aucune commande n'est exécutée après cela)
J'ai essayé de le faire de cette façon à la place et de l'exécuter dans le script ci-dessous :
gnome-terminal --geometry 125x18-0-26 --tab -t "some title" -e /home/ekido/Desktop/MyScripts/myScript
#!/usr/bin/expect
exec gnome-terminal --geometry 125x49-0+81 –tab
spawn ssh [email protected]
expect "password"
send "*******r"
expect "[email protected]:~>"
send “some commandr"
expect "[email protected]:~>"
send “some command"
interact
Si je supprime le exec gnome-terminal --geometry 125x49-0+81 –tab
lignes de l'exemple et appeler un script à partir d'un autre fichier, cela fonctionne bien - je me connecte au serveur et toutes les commandes sont exécutées. Quelqu'un peut-il m'aider à résoudre ce problème ?
Écrire un script que j'appelle pour chaque onglet n'est pas une option, car j'aurai 5 terminaux avec 5-7 onglets chacun à la fin, et cela signifie qu'il y aurait 25 à 30 scripts à écrire (coûtent plus que cela n'aide dans mon problème).
Réponse acceptée :
Cela semble fonctionner sur ma machine :
gnome-terminal --geometry=260x25-0+0 --tab -e "bash -c 'date; read -n1'" --tab -e "bash -c 'echo meow; read -n1' " --tab --tab
Veuillez noter que dès que les processus exécutés par -e sont terminés, ils se terminent. Dans ce cas, bash est chargé, exécute toutes les commandes que vous lui transmettez et existe immédiatement. J'ai mis les instructions de lecture pour attendre l'entrée de l'utilisateur. De cette façon, ces onglets ne se fermeront pas tant que vous n'appuierez pas sur une touche, juste pour que vous puissiez le voir dans cet exemple. Sans eux, il semblerait que seuls deux onglets s'ouvrent, car les deux autres s'exécuteraient et se fermeraient trop rapidement.