У мене проблема при використанні команди "експортувати"


12

Коли я ставлю sudo "export PROXY_LOCAL_NET_IP = 10.113.35.108", я отримую таку помилку:

sudo: export: command not found

Що мені робити, щоб вирішити цю проблему?


Це працює без судо?
користувач128285

Можливо, вам не слід використовувати лапки в команді.
користувач128285

експорт з будь-якої причини не буде працювати з рибною башшю
Раффаель,

Як зберегти змінні середовища при використанні sudo: stackoverflow.com/questions/8633461/…
Марк Фокс

Відповіді:


9

Ви не можете використовувати вбудовані оболонки із sudo. Через нього буде виконуватися лише команда, що відповідає дійсним файлам sudo. Правильний синтаксис для sudo:sudo [options] [filename]

Експорт - це внутрішня (вбудована) команда оболонки Bash і, можливо, також якась інша.

Також зауважте, що не має сенсу виконувати дії exportчерез sudo, це потрібно зробити під ідентифікатором користувача, щоб застосувати до вашої оболонки та її дочірніх процесів.

Якщо ви перейдете на цей користувач root, для цього вам доведеться виконати решту операцій як root: це не рекомендується . Тому що якщо ви вийдете з кореневої оболонки, це exportбуде втрачено.


7

Станьте користувачем root з sudo -sвашим паролем.
Потім введіть свою команду без sudo: експортувати 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.