для части "что я делаю не так", ответ есть в руководстве:)
-r resumes a detached screen session. No other options (except combinations with -d/-D) may be specified, though an optional prefix of [pid.]tty.host may be needed to distinguish between multiple detached screen sessions.
Во время подключения к сеансу вы мало что можете сделать. Так что ты можешь сделать? Вы можете использовать stuff
экрана, чтобы поместить эту команду в существующую очередь ввода экрана, а затем присоединить к ней (новую строку после того, как скрипт действительно ее выполнит ),start.sh
:
#!/bin/sh
screen -S megadl -X stuff '/home/pi/mega_start.sh\n'
screen -r megadl
Важно отметить, что если вы уже запускаете что-то на этом экране, вы передадите это туда, поэтому запуск чего-то важного может быть опасным.:
$ screen -S test -X stuff 'top\n' # run top
$ screen -r test # top displaying processes
$ screen -S test -X stuff 'q' # kill top
$ screen -r test # top is no longer running