Запустите скрипт на экране

Я считал бы пароль из терминала (с чтением-s) и

echo $password | ssh -f -N -D ....
25
15.10.2014, 02:20
3 ответа

Shebang линия, которую вы видели, могут работать на некоторых вариантах Unix, но не на Linux. Линии Shebang Linux ограничены: у вас можно только один вариант. Вся строка -D -D -M -S-Screenname / Bin / Bash пропускается как одна опция экрана , а не передается как разные слова.

Если вы хотите запустить скрипт внутри экрана, и не беспорядок с несколькими файлами или цитируемым, вы можете сделать сценарий сценария оболочки, который вызывает экран, если он не уже внутри экрана.

#!/bin/sh
if [ -z "$STY" ]; then exec screen -dm -S screenName /bin/bash "$0"; fi
do_stuff
more_stuff
28
27.01.2020, 19:40

В соответствии с экранными страницами:

  • screen -d -m. Начальный экран в отдельном режиме. Это создает новый сеанс, но не прикрепляется к нему. Это полезно для скриптов запуска системы.
  • -S имя сессии . Установите имя новой сессии.

Итак, когда я запустил команду, которую вы предоставили: screen -dmS name ./script.sh

Screen запускает окно с именем и автоматически запускает этот script.sh. Чтобы вернуться туда, чтобы увидеть статус, вы просто набираете: screen -r test

Теперь с Ubuntu 14.04 команды немного отличаются. Попробуйте:

screen -d -m -S test

Теперь для запуска скрипта, вам нужно будет перейти к их конфигурационному файлу, чтобы сделать это:

sudo vim /etc/screenrc

Как только там, прокрутите вниз, и вы увидите:

# Example of automatically running some programs in windows on screen startup.
#
#   The following will open top in the first window, an ssh session to monkey
#   in the next window, and then open mutt and tail in windows 8 and 9
#   respectively.
#
# screen top
# screen -t monkey ssh monkey
# screen -t mail 8 mutt
# screen -t daemon 9 tail -f /var/log/daemon.log

Это раздел, где вам нужно будет добавить имя скрипта для запуска, и это должно позволить вам сделать все, что вам нужно с экрана.

17
27.01.2020, 19:40

Это немного устарело, но это одна из немногих тем, которые я смог найти для этого. После поисков единственным способом запустить это в отсоединенном режиме в ubuntu 14. является

screen -d -m -t nameofwindow sh nameoflaunch.sh

Запуск будет второй частью выше, которая содержит текущие команды java и версию сервера. Я запускаю ваниль.

4
27.01.2020, 19:40

Теги

Похожие вопросы