При выполнении сценария с sudo ...
сценарий будет выполняться в новой среде. Это сделано в целях безопасности - для предотвращения внедрения переменных среды, которые могут изменить поведение сценария.
Два варианта решения проблемы: разверните файл конфигурации как обычный пользователь и выполните сохранение как sudu
, или Используйте один из параметров, чтобы разрешить передачу переменных среды в вызов sudo
. Первая альтернатива - изменить сценарий для расширения файла конфигурации в качестве текущего пользователя (с доступом ко всем параметрам), и используйте sudo
только для помещения файла в / et c
(sudo cat > /etc/mongod.conf) <<MONGOD_CONF
...
MONGOD_CONF
Альтернативный вариант - использовать параметр --preserve-env
(можно указать несколько переменных в виде списка через запятую).
sudo --preserve-env=MONGO_PORT
Настоятельно рекомендуется избегать -E
(--preserve-env, без параметров), так как это может открыть скрипт для использования в безопасности.