Форум русскоязычного сообщества Ubuntu


За новостями русскоязычного сообщества и Ubuntu в целом можно следить на нашей страничке в Google+

Автор Тема: Значение переменной PATH  (Прочитано 512 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Shuko

  • Автор темы
  • Новичок
  • *
  • Сообщений: 4
    • Просмотр профиля
Значение переменной PATH
« : 22 Сентябрь 2016, 01:27:00 »
Уважаемые эксперты, при выполнении инструкций Установка переменных среды, Installing Apache Maven обнаружил следующее:
1. если выполняю в консоли команду "printenv PATH", то получаю вывод "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
2. если открываю файл /etc/environment командой sudo nano /etc/environment, то в открывшемся на редактирование файле вижу следующее значение переменной PATH="PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/usr/lib/jvm/java-8-oracle/bin:/usr/lib/jvm/java-8-oracle/jre/bin:/opt/apache-maven-3.3.9/bin".
Вопрос в том почему отличается вывод команды "printenv PATH" от значения переменной PATH указанного в файле /etc/environment?

На самом деле моя проблема заключается в том, что в каталоге /opt/apache-maven-3.3.9/bin находится исполняемый файл mvn, который должен вызываться путем ввода в консоли команды, например, mvn -v, но видимо переменная PATH не включает в себя путь /opt/apache-maven-3.3.9/bin.

Подскажите что я делаю неправильно.

Оффлайн Azure

  • СуперМодератор
  • Старожил
  • *
  • Сообщений: 5660
  • elementaryOS 0.4 Loki, i3wm on Debian9
    • Просмотр профиля
Re: Значение переменной PATH
« Ответ #1 : 22 Сентябрь 2016, 01:45:34 »
файл /etc/environment
должен быть с PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/usr/lib/jvm/java-8-oracle/bin:/usr/lib/jvm/java-8-oracle/jre/bin:/opt/apache-maven-3.3.9/bin"
В Линукс можно сделать ВСЁ что угодно, достаточно знать КАК !

Оффлайн EvangelionDeath

  • Администратор
  • Старожил
  • *
  • Сообщений: 3095
  • Ubuntu Mate 16.04 х64
    • Просмотр профиля
Re: Значение переменной PATH
« Ответ #2 : 22 Сентябрь 2016, 01:46:41 »
Код: Bash
  1. nano ~/.bashrc
  2.  

if [ -d  "/opt/apache-maven-3.3.9/bin" ] ; then
    PATH=/opt/apache-maven-3.3.9/bin:$PATH
fi

Или как Azure предложил.

А отличаются потому, что вы где-то неправильно экспортировали переменную
« Последнее редактирование: 22 Сентябрь 2016, 01:49:03 от EvangelionDeath »
Fujitsu UH552: Intel Core i3-3217U, 16GB DDR3 1600MHz, Intel HD4000, Intel 535 120GB/Ubuntu 16.04 Mate
HP 625: AMD Athlon P320, 4GB DDR3 1333MHz, AMD HD4250, Seagate Momentus/Ubuntu 14.04 Mate

Оффлайн Shuko

  • Автор темы
  • Новичок
  • *
  • Сообщений: 4
    • Просмотр профиля
Re: Значение переменной PATH
« Ответ #3 : 22 Сентябрь 2016, 16:10:02 »
Azure, EvangelionDeath, спасибо за ответы. Боюсь, что я допустил ошибку при публикации репорта, на самом деле у меня в файле /etc/environment вот такое содержимое:
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/usr/lib/jvm/java-8-oracle/bin:/usr/lib/jvm/java-8-oracle/jre/bin:/opt/apache-maven-3.3.9/bin", т.е. оно такое и есть как писал Azure. Но вопрос все тот же, при выполнении в консоли команды printenv PATH получаю значение переменной, которое не содержит пути "/usr/games:/usr/local/games:/usr/lib/jvm/java-8-oracle/bin:/usr/lib/jvm/java-8-oracle/jre/bin:/opt/apache-maven-3.3.9/bin".
Возможно для меня прояснится проблема, если вы подскажете как правильно экспортировать переменные.

Ещё раз спасибо за помощь.

 

Страница сгенерирована за 0.064 секунд. Запросов: 24.