Страницы

Поиск по вопросам

понедельник, 1 апреля 2019 г.

Добавление environment переменной из bash

Никак немогу заставить скрипт добавлять переменную окружения в Ubuntu.
#!/bin/bash
if [ "$(lsmod | grep nouveau)" > /dev/null ] then export QT_XCB_FORCE_SOFTWARE_OPENGL=1 echo "test"
fi
Если вручную писать в терминале
export QT_XCB_FORCE_SOFTWARE_OPENGL=1
все работает как нужно, и от юзера и от рута. Но скрипт не добавляет переменную даже при ручном запуске, вывод
env
не содержит нужную переменную. Пробовал делать:
export QT_XCB_FORCE_SOFTWARE_OPENGL="1"
Но ничего не меняется. Права на скрипт 777. Жестко добавить в /etc/environment не могу в силу определенных причин, так как сборка конфигурируется под разное железо и если использовать переменную export QT_XCB_FORCE_SOFTWARE_OPENGL там где не используются драйверы nouveau то софт приложение будет падать.


Ответ

Дело в том, что bash создает а при выходе из скрипта уничтожает копию environment запустите . вашскрит.sh и все получится. PS: здесь похожий вопрос

Комментариев нет:

Отправить комментарий