Работает только первая строка сценария запуска - PullRequest
0 голосов
/ 15 марта 2019

На Fedora 27 mate я пытаюсь выполнить две строки, чтобы создать два VNC-сервера, когда компьютер входит в систему. Но он выполняет только первую строку. Если я разделю сценарий на два файла, он будет работать. Есть ли способ сделать это одним скриптом?

Я пытался найти ответ, но не смог его найти, извините, если это репост уже отвеченного вопроса.

Сценарий сделан исполняемым с помощью chmod + x, и я использую свойства mate-session-properties, чтобы сделать его загрузочным. Файл находится на рабочем столе в виде startup.sh.

!# /bin/bash
x0vncserver -rfauth ~/.vnc/passwd 
vncserver :1 geometry 1024x768 -depth 24

1 Ответ

0 голосов
/ 15 марта 2019

Сценарий запускает только первую строку, поскольку по умолчанию используется ожидание выхода из программы, а затем ее перемещение.Чтобы перейти к следующей строке, не дожидаясь окончания первой строки, необходимо добавить амперсанд в конце первой строки, например,

!# /bin/bash
x0vncserver -rfauth ~/.vnc/passwd &    
vncserver :1 geometry 1024x768 -depth 24

В приведенном выше примере с запуском первой строки без ожиданиячтобы выйти, а затем дождитесь окончания второй строки, прежде чем скрипт завершится.

...