У меня проблема при использовании команды «экспорт»


12

Когда я ставлю sudo "export PROXY_LOCAL_NET_IP = 10.113.35.108", я получаю следующую ошибку:

sudo: export: command not found

Что я должен сделать, чтобы решить эту проблему?


Это работает без sudo?
user128285

Возможно, вы не должны использовать кавычки в команде.
user128285

экспорт не будет работать с рыбой, по какой-либо причине
Раффаэль

Как сохранить переменные окружения при использовании sudo: stackoverflow.com/questions/8633461/…
Марк Фокс

Ответы:


9

Вы не можете использовать встроенные оболочки с sudo. Только команда, соответствующая действительным файлам, будет выполнена через sudo. Правильный синтаксис для sudo:sudo [options] [filename]

Export - это внутренняя (встроенная) команда оболочки Bash и, возможно, некоторая другая.

Также обратите внимание, что нет смысла выполнять действие с exportпомощью via sudo, оно должно выполняться под вашим идентификатором пользователя, чтобы быть применимым к вашей оболочке и ее дочерним процессам.

Если вы переключитесь на пользователя root, чтобы сделать это, вам придется выполнить оставшуюся часть вашей операции как root: это не рекомендуется . Потому что если вы выйдете из корневой оболочки, выполненное назначение exportбудет потеряно.


7

Станьте пользователем root sudo -sи паролем.
Затем введите команду без sudo: export PROXY_LOCAL_NET_IP = 10.113.35.108`


4

Вы можете использовать параметр sudo -E для использования экспортированной переменной в команде sudo

Следующий вопрос stackoverflow содержит некоторые дополнительные сведения о том, как использовать переменную окружения с sudo

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.