J'utilise Ubuntu 16.04 et j'ai besoin de la tmux
solution suivante parce que je veux exécuter un processus de temporisation avec sleep
comme dans mon cas particulier je n'étais pas satisfait at
et j'ai rencontré un bug avec nohup
(lors de la combinaison nohup-sleep
). Maintenant, tmux
semble la meilleure alternative car il a son propre mécanisme sans raccrochage et fonctionne réellement bien en utilisation manuelle (je pose la question uniquement en ce qui concerne l'automatisation du processus, je peux déjà le faire manuellement).
Ce dont j'ai besoin:
J'ai besoin d'un moyen de faire les 3 actions suivantes, en une seule opération:
- Attacher une nouvelle
tmux
session. - Injecter un ensemble de commandes prêt à cette session, comme
(sleep 30m ; rm -rf dir_name ; exit)
. Je préférerais surtout un ensemble multi-lignes, et non une longue rangée. - L'exécution de la commande ci-dessus définit le moment où elle a été écrite en tant que stdin dans la nouvelle
tmux
session.
En d'autres termes, je veux exécuter un ensemble de codes dans une autre tmux
session qui a été spécialement créé pour cette cause, mais tout faire en une seule opération.
Remarques:
Mon objectif est de tout faire à partir de ma session de travail d'origine (celle sur laquelle je travaille la plupart du temps). En général, je n'ai pas l'intention de visiter la session nouvellement créée, je veux juste la créer avec son code exécuté automatiquement et c'est tout.
Si possible, je préférerais une solution hérédoc. Je pense que c'est le plus efficace.
1.
il y a deux façons de le faire, l'une consiste d'abord à créer un script temporaire (qui contient le code) et à l'exécuter avec creation et la seconde est un hérédoc façon.2.
Si la deuxième méthode fonctionne (lorsque chaque ligne d'écho contient chaque ligne de code de l'hérédoc), pourquoi devrions-nous voir cela comme un hack s'il s'agit d'un code valide Bash? Peut-être parce que les lignes de l'hérédoc sont répercutées et ne sont pas exécutées régulièrement dans les hérédocs?