BLFS Xorg: Неустранимая ошибка сервера, экраны не найдены

В соответствии с руководством Bash(и POSIX тоже):

Когда используется форма подстановки с обратной кавычкой в ​​старом стиле, обратная косая черта сохраняет свое буквальное значение, за исключением случаев, когда за ней следует $ , `или \.

Это означает, что `echo "$PROXY_URL" | sed -e 's/[\/&]/\\&/g'`приводит к тому, что команда sedвыполняется как sed -e 's/[\/&] /\&/g', потому что двойная обратная косая черта была преобразована в одну. \&затем делает литерал &в sed.

Вместо этого вы можете использовать подстановку команд в стиле $(...), чтобы избежать этого:

proxyUrlSedEscaped=$(echo "$PROXY_URL" | sed -e 's/[\/&]/\\&/g')

Подстановка в новом стиле допускает любую команду с ее обычной интерпретацией.

Если вы должны использовать `, то довольно гротескный двойной экран тоже работает:

proxyUrlSedEscaped=`echo "$PROXY_URL" | sed -e 's/[\/&]/\\\\&/g'`

Это превращает \\\\в \\, который затем превращается для вас в \.

1
23.03.2017, 00:00
1 ответ

Ответ, который я разместил здесь, может помочь: Настройка сервера vnc без физического дисплея: Ubuntu 16.04 LTS

Он устанавливает виртуальный экран для стека X для отправки вывода, позволяя ему завершить запуск среды графического интерфейса.

0
28.01.2020, 00:59

Теги

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