Сценарий командной строки экрана, использующий определенный сеанс?

#session #ssh #gnu-screen #script #dms

Вопрос:

Я хочу выполнить команду в определенном именованном сеансе.

В настоящее время используется screen -dmS TestScreen bash -c * , который работает, но он запускает новый сеанс, даже если у меня уже есть сеанс с именем TestScreen.

Есть ли способ сделать так, чтобы он выполнял команду в уже существующем сеансе TestScreen? Google предположил -x , что это может сработать, но я не смог заставить его работать. Есть какие-нибудь предложения? Спасибо.

Ответ №1:

stuff Команда необходима перед выполнением команды в screen сеансе. Смотрите тест ниже, с прикрепленной сессией test2 :

 ~$ screen -list
There are screens on:
    11133.test2     (Attached)
    8288.test1      (Attached)
~$ screen -S test2 -p 0 -X stuff "ls -l^M"
~$ screen -list
There are screens on:
    11133.test2     (Attached)
    8288.test1      (Attached)
 

Нашел решение здесь: https://raymii.org/s/snippets/Sending_commands_or_input_to_a_screen_session.html