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


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

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

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.

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

ТС не появлялся на Форуме более полугода по состоянию на 14/07/2019 (последняя явка: 09/10/2016). Модератором раздела принято решение закрыть тему.
--zg_nico
« Последнее редактирование: 14 Июля 2019, 01:53:25 от zg_nico »

Оффлайн Azure

  • Почётный модератор
  • Старожил
  • *
  • Сообщений: 6017
  • Windows10, i3wm on Debian9, Manjaro20.0
    • Просмотр профиля
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

  • Администратор
  • Старожил
  • *
  • Сообщений: 3487
  • Ubuntu 22.04 х64
    • Просмотр профиля
Re: Значение переменной PATH
« Ответ #2 : 22 Сентября 2016, 01:46:41 »
Код: (bash) [Выделить]
nano ~/.bashrc

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 »
HP Pro 840 G3: Intel i5-6300U, 32GB DDR4 2133MHz, Intel 520, Intel Pro 2500 180GB/Ubuntu 22.04
Dell Latitude 5590: Intel i5-8350U, 16GB DDR4 2400MHz, Intel 620, Samsung 1TB/Ubuntu 22.04

Оффлайн 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.06 секунд. Запросов: 23.