Відповіді:
Коли ви запускаєте сеанс екрана у відірваному режимі ( screen -d -m), не вибирається вікно, тому вхід, надісланий пізніше screen -X stuff, просто втрачається. Вам потрібно чітко вказати, що ви хочете надіслати натискання клавіш у вікно 0 ( -p 0). У будь-якому випадку це гарна ідея, якщо ви хочете створити інші вікна під час сеансу екрана з будь-якої причини.
screen -S "$1" -p 0 -X stuff "$beast$(printf \\r)"
( printf \\rщоб строго імітувати Returnключ; багато, але не всі програми приймають новий рядок ( \n).)
Це нещодавно з’явилося під час спроби відповісти на запитання на unix.stackexchange.com .
Підсумок полягає в тому, що на екрані немає вибраного за замовчуванням вікна, якщо ви не вкладете файл, але Гілл показав нам, як можна змусити його бути вибраним , додавши аргумент -p 0у вашу команду екрана.
Особисто рекомендую перейти на tmux. Ось як ви перенесите команди екрана для роботи в tmux:
tmux new-session -d -n $1
tmux send-keys -t $1 "$beast\n"