Если вы используете режим Serva BINL, вы можете просто скопировать свой ServaAsset.inf
из:
https://www.vercot.com/~serva/an/NonWindowsPXE3.html.
Больше ничего добавлять не нужно. Он отлично работает как с Serva "Community", так и с "Pro"
.
Экранирование амперсанда в определении MONGODB _URI в скрипте и упрощение регулярного выражения, избавление от -n
и избавление от ненужного g
в sed, получаем вот это (в этой версии тестовый профиль называется иначе, но должно быть понятно, что делать):
BASH_PROFILE="/tmp/test_profile"
MONGODB_URI="mongodb+srv://administrator:abcdef@mysite-cluster-n1qub.mongodb.net/mysite_development?retryWrites=true\&w=majority"
INSERT_ENV_VAR () {
if [[ -z "$2" ]]
then
echo "Failed to retrieve $1"
else
if grep -q "$1" "$BASH_PROFILE"; then
# Cannot use / delimiter, for value can contain /
sed -i -E "s;(export $1=).*;\1$2;" "$BASH_PROFILE"
else
echo "export $1=$2" >> "$BASH_PROFILE"
fi
fi
}
INSERT_ENV_VAR 'ADMIN_EMAIL' 'bob@gmail.com'
INSERT_ENV_VAR 'MONGODB_URI' $MONGODB_URI
и запустив это с тестовым профилем, я получаю:
export ADMIN_EMAIL=bob@gmail.com
export MONGODB_URI=mongodb+srv://administrator:abcdef@mysite-cluster-n1qub.mongodb.net/mysite_development?retryWrites=true&w=majority