web-dev-qa-db-fra.com

Ouvrir la fenêtre du terminal XFCE et exécuter la commande dans la même fenêtre

Je voudrais démarrer 'xfce4-terminal' puis exécuter une commande mais terminer avec une invite pour répéter la commande.

J'utilise le logiciel 'todo.txt' et j'aime l'avoir ouvert dans une petite fenêtre à laquelle je peux me référer et ajouter des entrées, etc.

Pour le moment, j'ai la ligne de commande suivante qui fonctionne ...

xfce4-terminal --title=todo &

... Je dois alors passer à cette fenêtre de terminal et tapez ...

/usr/local/bin/todo.sh -t ls

J'ai essayé tous ceux-ci mais à chaque essai, il "termine" la fenêtre et ne me laissera pas taper dans la fenêtre: -

xfce4-terminal --execute '/usr/local/bin/todo.sh -t ls' --title=todo --hold &

xfce4-terminal --command '/usr/local/bin/todo.sh -t ls' --title=todo --hold &

xfce4-terminal --command='/usr/local/bin/todo.sh -t ls' --title=todo &

Quelqu'un peut-il aider s'il vous plaît?

Je voudrais ouvrir la fenêtre du terminal, exécuter la commande, puis me laisser avec une invite de travail.

Merci.

3
Paul Littlefield

Utilisez l'option -c de la commande bash pour envelopper plusieurs commandes, comme ceci:

$ bash -c "ls /var/log/apt; bash"
history.log    history.log.4.gz  term.log.10.gz  term.log.5.gz
history.log.10.gz  history.log.5.gz  term.log.11.gz  term.log.6.gz
history.log.11.gz  history.log.6.gz  term.log.12.gz  term.log.7.gz
history.log.12.gz  history.log.7.gz  term.log.1.gz   term.log.8.gz
history.log.1.gz   history.log.8.gz  term.log.2.gz   term.log.9.gz
history.log.2.gz   history.log.9.gz  term.log.3.gz
history.log.3.gz   term.log      term.log.4.gz
username@hostname:~$ 

Ensuite, utilisez cette commande bash dans la commande xfce4-terminal, comme ceci:

xfce4-terminal -e 'bash -c "ls /var/log/apt; bash"' -T "Run and ready"

dans lequel les options: -e pour exécuter les commandes, -T pour définir le titre.

En conséquence, le terminal ne ferme pas et n'est pas prêt avec une nouvelle invite.

3
clearkimura