Korzystam z Ubuntu 16.04 i potrzebuję następującego tmux
rozwiązania, ponieważ chcę uruchomić proces przekroczenia limitu czasu, sleep
ponieważ w moim szczególnym przypadku nie byłem zadowolony at
i napotkałem błąd nohup
(podczas łączenia nohup-sleep
). Teraz tmux
wydaje się najlepszą alternatywą, ponieważ ma własny mechanizm bez zawieszania się i działa właściwie w trybie ręcznym (zadaję pytanie tylko w zakresie automatyzacji procesu, który mogę już z nim zrobić ręcznie).
Czego potrzebuję:
Potrzebuję sposobu na wykonanie następujących 3 akcji, wszystkie w jednej operacji:
- Dołączanie nowej
tmux
sesji. - Wstrzyknięcie gotowego zestawu poleceń do tej sesji, np
(sleep 30m ; rm -rf dir_name ; exit)
. Szczególnie wolałbym zestaw wieloliniowy, a nie jeden długi rząd. - Wykonanie powyższej komendy ustawia moment, w którym zakończy się zapisywanie jako stdin w nowej
tmux
sesji.
Innymi słowy, chcę wykonać zestaw kodu w innej tmux
sesji, która została specjalnie stworzona dla tej przyczyny, ale aby zrobić wszystko w jednej operacji.
Uwagi:
Staram się robić wszystko z mojej oryginalnej sesji roboczej (tej, którą pracuję przez większość czasu). Zasadniczo nie mam zamiaru odwiedzać nowo utworzonej sesji, chcę ją tylko utworzyć z automatycznie wykonywanym kodem i to wszystko.
Jeśli to możliwe, wolałbym rozwiązanie heredoc. Myślę, że to najbardziej wydajne.
1.
Istnieją dwa sposoby, aby to zrobić, jeden obejmuje najpierw utworzenie skryptu tymczasowego (zawierającego kod) i wykonanie go wraz z tworzeniem, a drugi to heredoc droga.2.
Jeśli drugi sposób działa (gdy każdy wiersz echa zawiera każdy wiersz kodu heredoc), dlaczego powinniśmy postrzegać to jako hack, jeśli jest to poprawny kod Bash? Może dlatego, że wiersze heredoka są powtarzane echem i nie są wykonywane regularnie w heredocach?