Я використовую Ubuntu 16.04, і мені потрібно наступне tmux
рішення, тому що я хочу запустити процес очікування, sleep
оскільки в моєму конкретному випадку я не був задоволений at
і зіткнувся з помилкою nohup
(при поєднанні nohup-sleep
). Тепер, tmux
здається, найкраща альтернатива, оскільки у нього є власний механізм без зависання, і він справді працює добре в ручному використанні (я задаю питання лише щодо автоматизації процесу, який я вже можу зробити з ним вручну).
Що мені потрібно:
Мені потрібен спосіб зробити наступні 3 дії, все в одну операцію:
- Додавання нового
tmux
сеансу. - Начебто готовий набір команд до цього сеансу
(sleep 30m ; rm -rf dir_name ; exit)
. Я особливо вважаю за краще багаторядковий набір, а не один довгий ряд. - Виконання вищевказаної команди встановило момент, коли вона буде закінчена, щоб записати як stdin у новому
tmux
сеансі.
Іншими словами, я хочу виконати набір коду в іншому tmux
сеансі, який був спеціально створений для цієї причини, але робити все за одну операцію.
Примітки:
Я маю на меті зробити все з моєї первісної робочої сесії (тієї, над якою працюю більшу частину часу). Як правило, я не маю наміру відвідувати новостворений сеанс, я просто хочу створити його з автоматично виконаним кодом, і все.
Якщо можливо, я вважаю за краще рішення гередока. Я думаю, що це найефективніше.
1.
Є два способи зробити це, один передбачає спершу створення тимчасового сценарію (який містить код) та виконання його зі створенням, а другий - heredoc шлях.2.
Якщо другий спосіб працює (коли кожен ехо-рядок містить кожний рядок коду гередока), чому ми повинні розглядати це як хак, якщо це дійсний код Bash? Може тому, що рядки гередока перегукуються і не виконуються регулярно в гередоках?