добавление программ в путь

У меня есть набор инструментов, которые хранятся в каталоге / opt. Инструменты организованы следующим образом: /opt/toolname/tool.sh. Мой вопрос в том, как я могу добавить инструменты в папку my / opt к своему пути, поэтому я могу запускать их из любого каталога в терминале.

Мне удалось сделать это с помощью некоторых инструментов, создав символические ссылки в / usr / bin; но с более чем 200 инструментами это очень утомительный способ сделать что-то. Есть лучший способ сделать это?

4 Solutions collect form web for “добавление программ в путь”

Единственным правильным способом является создание ссылок в /usr/bin или /usr/local/bin как вы описали. Потому что в этих папках в /opt/toolname обычно есть много других файлов, а не только исполняемых файлов. Я был бы груб. В любом случае, добавление /opt/*/ в $PATH не будет работать.

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

Вы можете добавить папки в свой путь, используя следующую команду:

export PATH=/path/to/folder:$PATH

Вы должны включить это в сценарий оболочки, который будет запущен до того, как вы откроете окно терминала (например, .bash_profile в вашей домашней папке).

Однако, поскольку путь не рекурсивный, вам нужно добавить каждую отдельную папку инструментов.

Есть много способов сделать это:

  1. Сделать символическую ссылку в каталоге /usr/bin (или /usr/local/bin ) sudo cp -s /opt/toolname/tool.sh /usr/bin/[unique_Toolname]
  2. Добавьте /opt/toolname/tool.sh к $PATH export $PATH=$PATH:/opt/toolname/
  3. Комбинируйте выше, но используйте $HOME/.local/share/bin вместо system /usr/bin

Спасибо всем за отзывы и ваше время. Вы подтвердили, что я подозревал, нет ни одного решения для решения этой проблемы. Я продолжу свой первоначальный маршрут и вручную добавлю символические ссылки сейчас, на этот раз в / user / local / bin.

  • Postfix больше не регистрируется в / var / log / mail после его удаления и повторного создания?
  • Какой последний символ в файле?
  • Установите программу по умолчанию для одного конкретного файла в Nemo
  • почему нельзя переименовать subdir, если родительский dir-владелец не является тем же пользователем
  • cp и mv, если уже названный файл
  • Как передать аргументы для команды через ярлык Desktop без открытия терминала?
  • удалить все экземпляры _000 из нескольких файлов
  • Автоматическое обнаружение новых файлов и их загрузка
  • Создать файл для каждого результата команды find?
  • Как остановить пользователя root от удаления файла?
  • Chrome слишком много файлов открыть / сбой / Извините Jim
  • Как я могу перезаписать файл и запустить команду, если файл действительно изменился?
  • Linux и Unix - лучшая ОС в мире.