Я не могу найти это нигде в Google / SE, извините, если это была только моя формулировка.
Я хочу, чтобы screen запускал команду при запуске. С псевдокодом выполнение
screen -S SomeScreen -c SomeScript.sh
заставит его автоматически выполнить SomeScript.sh, не заходя на экран и не вводя его. Спасибо!
(тега для экранной команды нет)
если вы хотите выполнить какое-то выполнение при запуске ОС ...
перейдите к startup applications
и добавьте эту команду в список, выбрав add
.
Вы можете войти в автозагрузку приложений, нажав клавишу Windows и введя ее.
Вы можете использовать переключатель -X
на screen
(верхний регистр X, нижний регистр x означает что-то еще;)) для отправки команды в существующий сеанс экрана. Таким образом, вы можете сделать что-то в соответствии с
screen -md
screen -p 0 -X stuff Но я предполагаю, что это не соответствует вашей задаче сделать вещи проще ;)
echo "Test"\n'
screen -r
Но я предполагаю, что это не соответствует вашей задаче сделать вещи проще ;)
Посмотрите на синтаксис в man screen
:
screen [ -options ] [ cmd [ args ] ]
cmd
- это команда для запуска в сеансе. Таким образом, ввод screen SomeScript.sh
заставит его автоматически выполнить SomeScript.sh, не заходя на экран и не вводя его.
Если вы ищете способ, чтобы экран выполнял некоторые команды каждый раз, когда вы начинаете новый сеанс, я делаю это, помещая их в ~ / .screen-start и помещая что-то вроде этого в конец .bashrc:
if [ -n "$STY" ]; then
source ~/.screen-start
fi
Поскольку экран устанавливает $ STY в качестве идентификатора сеанса экрана, вы можете проверить, установлен ли он, чтобы знать, работает ли экран. И так как screen запускает оболочку входа в систему, когда вызывается без определенной команды, он выполняет .bashrc.
Вероятно, есть лучший способ; Я перестал искать, потому что это работало хорошо для меня.