Как я устанавливаю переменную среды для sudo в MacOS?

script излишество для этого. Да это работает, но это не то, для чего был сделан сценарий. Сценарий используется для приложений, которые получают доступ к TTY непосредственно и не используют STDOUT/STDERR.

Можно легко выполнить это с основным перенаправлением оболочки.

./remove.sh &> remove.log
2
10.03.2013, 08:02
2 ответа

Я предложил бы, чтобы Вы испытали следующие шаги:

  1. Внутри /etc/profile.d каталог, создайте названный файл set_java_path.sh файл, содержащий строку

    export JAVA_HOME=<_complete_path_to_java6_directory_>

  2. Выполненный bash управляйте однажды для создания вышеупомянутого изменения в загрузке. И выполненный start.sh сценарий.

Править:

Если /etc/profile.d каталог не существует, создает имена каталогов то же (разрешение: 0755 и владелец и группа как корень) и в Вашем /etc/profile файл, добавляет следующий код:

if [ -d /etc/profile.d ]; then
  for i in /etc/profile.d/*.sh; do
    if [ -r $i ]; then
      . $i
    fi
  done
  unset i
fi
1
27.01.2020, 22:14
  • 1
    у меня, кажется, нет/etc/profile.d каталога. Я должен создать его? –  Shivasubramanian A 10.03.2013, 08:48
  • 2
    @ShivasubramanianA: Я обновил ответ. –  pradeepchhetri 10.03.2013, 08:59

Для сохранения переменных среды как, sudoer добавляют Defaults env_keep += PATH в Ваш sudoer файл (sudo visudo).

1
27.01.2020, 22:14
  • 1
    i upvoted для намерения ответа, и потому что я изучил что-то новое. обратите внимание, что OP спрашивает о JAVA_HOME, не СОЕДИНЯЮТ КАНАЛОМ, хотя это тривиально, и ответ был бы тем же. –  Tim Kennedy 14.05.2013, 19:58

Теги

Похожие вопросы