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


Следите за новостями русскоязычного сообщества Ubuntu в Twitter-ленте @ubuntu_ru_loco

Автор Тема: Почему разные терминалы могут отображать разный PATH?  (Прочитано 736 раз)

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

Оффлайн Kadenza

  • Автор темы
  • Новичок
  • *
  • Сообщений: 17
    • Просмотр профиля
Установил Node.js - скачал архив для Linux с официального сайта. Распаковал по инструкции и добавил путь в PATH. С основного терминала (gnome-terminal) Линукс, node запускается, и я вижу путь в PATH. Работает с любого окружения /bin/sh и /bin/bash

А в любых других терминалах, например в VScode, PyCharm в Path путь до node не отображается. Запустить его не получается.
sh-5.1$ node
sh: node: команда не найдена

Такой же результат выдает команда:
sh-5.1$ sudo
sh: sudo: команда не найдена

Более того, я даже не могу зайти в папку с программой через другие терминалы. Node установлен по пути /usr/local/lib/nodejs Но другие терминалы (VScode, PyCharm) не видят папку local

Я пробовал добавить путь в environment, так же путь прописан в profile

Оффлайн EvangelionDeath

  • Администратор
  • Старожил
  • *
  • Сообщений: 3487
  • Ubuntu 22.04 х64
    • Просмотр профиля
Начнем с минимума:
bash = bash и при использовании он "прокидывает" переменные в sh
sh = dash
А у него уже свое окружение

Итого:
Или писать полные пути к файлам, или...
Хотя о чем мы говорим, если что-то запускается с sudo в среде разработки. сами наломали, сами правьте
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

Оффлайн Kadenza

  • Автор темы
  • Новичок
  • *
  • Сообщений: 17
    • Просмотр профиля
Спасибо за ответ, почитаю про bash и sh. sudo я не использую при разработке, просто решил проверить доступна ли эта команда (из терминала Vs Code например) просто стандартные команды типо ls и cd работают. Подумал, что возможно другие терминалы запускаются с ограничениями.

Полные пути писать можно, но тогда уже проще пользоваться внешним терминалом, пока так и делаю.

Просто хочется узнать причину или возможные причины, а то даже не понимаю чего гуглить(
Опыта с Linux мало

Оффлайн andytux

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 6839
    • Просмотр профиля
На то она и переменная.
В принципе, любая программа может переопределить ее, задать для своего окружения: PATH='', и вот она уже ничего не знает о других программах.

 

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