1

Мне любопытно, есть ли способ заставить мой .bash_profile работать, когда я запускаю программу.

Например, я установил alias emerge='emerge -av' чтобы я мог установить программное обеспечение, и он всегда будет спрашивать меня, хочу ли я продолжить перед загрузкой и установкой. Однако, я только что заметил, что когда у меня sudo emerge foo , по умолчанию используется простая команда emerge foo вместо emerge -av foo .

Единственное, что приходит на ум, чтобы исправить это, это также поместить псевдоним в корневой файл .bash_profile, но я не хочу прибегать к этому, поскольку мне всегда придется вносить изменения в двух местах, когда я хочу добавить материал в мой собственный профиль.

Есть ли другой способ обойти это, с которым я незнаком?

2 ответа2

5

В Баш,

alias sudo='sudo '

заставит bash расширить любые псевдонимы, которые идут после sudo .

2

Другой способ сделать это (хотя в данном конкретном случае я рекомендую ответ Grawity) - использовать флаг -E для sudo для наследования среды.

   -E          The -E (preserve environment) option will override the
               env_reset option in sudoers(5)).  It is only available when
               either the matching command has the SETENV tag or the
               setenv option is set in sudoers(5).

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .