Здесь уже много вопросов вот так, но каждый рекомендует (вариант) следующее решение:
screen -dmS somename bash -c "/path/to/script; bash -l"
например когда script
заканчивается, запустить новый bash
.
К сожалению, для меня это не работает, потому что
script
использует переменную $ BASHPID для чего-тоscript
работает вечно, например нужно завершить его с помощью CTRL-Cscript
(тем же $BASHPID
)Итак, вопрос:
screen
в автономном режиме (например, при загрузке) - обычно это выполняется -dm
.profile
, но это можно преодолеть с помощью source ~/.profile
в script
самscript
запустить другую (двоичную) программу, которая будет работать до CTRL-Cscript
Я должен получить то же самое bash
(с тем же $BASHPID
(потому что нужно запускать другие скрипты, что от этого зависит)Короче нужно смоделировать следующую интерактивную работу:
screen
echo $BASHPID
/path/to/script
После вышесказанного, позже я могу сделать
screen -ARR
)echo $BASHPID
# будет производить то же, что и вышеЛюбая идея? (думая о -X
но не работает, где-то я, наверное, ошибаюсь)
Кажется, что ответ здесь для вашего варианта использования. Коротко:
bash --init-file <(echo "yourcommand")