Как сохранить файл журнала в энергонезависимой -памяти

В bash нет endif. Оператор ifзаканчивается fi. Кроме того, при использовании тестовой конструкции [ ]вам нужен пробел вокруг [. Оператор сопоставления регулярных выражений =~требует специального [[ ]]bash вместо POSIX [ ], и чтобы отменить совпадение, вы отрицаете весь тест ([[ ! foo ~ bar ]]), вы не можете использовать !~. Кроме того, для этого требуется регулярное выражение, а не глобус оболочки. Так что *ничего не значит само по себе, вам нужно .*для "любого символа". Затем формат для установки и экспорта переменной — export foo=bar, а также у вас есть случайный ?между $и LD_LIBRARY_PATH. Так что попробуй это:

if [ "1" == "$LD_LIBRARY_PATH" ]; then
    if [[ ! "$LD_LIBRARY_PATH" =~.*/usr/local/iscir/lib.* ]]; then
        export LD_LIBRARY_PATH="/usr/local/iscir/lib:$LD_LIBRARY_PATH"
    fi
else
    export LD_LIBRARY_PATH="/usr/local/iscir/lib"
fi

Это должно сработать, но все это не имеет смысла. Когда LD_LIBRARY_PATHбудет 1? Я действительно не понимаю, как это когда-либо будет выполнено. Если все, что вы хотите сделать, это добавить /usr/local/iscir/libк LD_LIBRARY_PATH, если его там еще нет, вам просто нужно это:

if [ -z "$LD_LIBRARY_PATH" ]; then
    export LD_LIBRARY_PATH="/usr/local/iscir/lib"
elif [[ ! "$LD_LIBRARY_PATH" == */usr/local/iscir/lib* ]]; then
    export LD_LIBRARY_PATH="/usr/local/iscir/lib:$LD_LIBRARY_PATH"
fi
2
21.05.2021, 09:25
0 ответов

Теги

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