Выполните команду на новом именованном экране

Вот то, как это сделано:

# Must install 7 first or else when uninstalling six, it will try to install a bunch of replacement gcj stuff.
sudo apt-get install openjdk-7-jdk
sudo apt-get remove openjdk-6-jre
sudo apt-get remove openjdk-6-jre-lib

Впоследствии:

> java -version
java version "1.7.0_03"
OpenJDK Runtime Environment (IcedTea7 2.1.1pre) (7~u3-2.1.1~pre1-1ubuntu3)
OpenJDK 64-Bit Server VM (build 22.0-b10, mixed mode)
3
09.07.2013, 02:17
1 ответ

Что Вы хотите произойти, когда команда закончена? Экранная сессия заканчивается, когда нет никаких более рабочих команд, поэтому если Вы хотите иметь в наличии сессию, необходимо будет выполнить другую команду.

Если Вы хотите иметь в наличии окно и выполнить больше команд это это, выполнить оболочку, когда начальная команда заканчивается.

screen -S webserver -dm sh -c 'launch_webserver.sh; echo $?; exec bash -i'

Если Вы хотите иметь в наличии окно только, чтобы видеть вывод, выполнить команду, которая ожидает, такой как sleep (с почти бесконечным аргументом) или read (ожидает, пока Вы не нажимаете Enter).

screen -S webserver -dm sh -c 'launch_webserver.sh; echo $?; read'

Если Вы хотите иметь в наличии сессию, но не окно, выполнить другую команду. Необходимо будет записать screenrc файл (который является хорошей идеей так или иначе).

screen -c /path/to/webserver.screenrc

где /path/to/webserver.screenrc содержит

sessionname webserver
screen -t webserver launch_webserver.sh
screen -t shell bash
2
27.01.2020, 21:28

Теги

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