Я считал бы пароль из терминала (с чтением-s) и
echo $password | ssh -f -N -D ....
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
В соответствии с экранными страницами:
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
Это раздел, где вам нужно будет добавить имя скрипта для запуска, и это должно позволить вам сделать все, что вам нужно с экрана.
Это немного устарело, но это одна из немногих тем, которые я смог найти для этого. После поисков единственным способом запустить это в отсоединенном режиме в ubuntu 14. является
screen -d -m -t nameofwindow sh nameoflaunch.sh
Запуск будет второй частью выше, которая содержит текущие команды java и версию сервера. Я запускаю ваниль.