Вы не можете использовать встроенные оболочки с sudo
. Только команда, соответствующая действительным файлам, будет выполнена через sudo
. Правильный синтаксис для sudo: sudo [options] [filename]
Export - это внутренняя (встроенная) команда оболочки Bash и, возможно, некоторые другие.
Также обратите внимание, что нет смысла выполнять действие export
через sudo
, оно должно выполняться под вашим идентификатором пользователя, чтобы быть применимым к вашей оболочке и ее дочерним процессам.
Если вы переключитесь на пользователя root, чтобы сделать это, вам придется выполнить оставшуюся часть вашей операции как root: это не рекомендуется . Потому что, если вы выйдете из корневой оболочки, назначение, выполненное export
, будет потеряно.
Вы можете использовать опцию sudo -E для использования экспортированной переменной в команде sudo
Следующий вопрос stackoverflow содержит некоторые дополнительные сведения о том, как использовать переменную окружения с sudo