Как запустить мою собственную программу без указания ее пути

11

Предположим, я что-то скомпилировал и запустил так:

$ /path/to/my/executable/mycmd
Hello World

Что мне нужно сделать, чтобы запустить его как

$ mycmd
Hello World 

откуда угодно в моем компьютере?

nacho4d
источник

Ответы:

15

То, что вы ищете, является PATHпеременной среды. Он сообщает оболочке, где нужно искать программы. Вы можете увидеть текущее значение этой переменной, используя echo:

echo "$PATH"

Теперь ... Лучшая практика, если вы хотите использовать какую-то новую программу, это установить ее с помощью программы управления пакетами для вашего дистрибутива. Но в этом случае я предполагаю, что вы имеете дело с программой, которая не поставляется ни одним доступным программным пакетом. Для таких программ у вас есть два варианта:

  1. Установите программу для всей системы, в место, где ваша система не помещает никаких файлов, установленных из пакетов. На большинстве систем такие «безопасные» папки включают /usr/local/bin/и /opt/bin/те, которые уже должны быть в вашей PATH. (Загляните внутрь этих папок, и если в них много файлов, то это неправильное место для размещения вашей собственной программы, и вам придется искать другие папки, перечисленные в вашей PATH.)
  2. Измените вашу PATHпеременную. Это менее безопасно, потому что оно определяет дополнительные папки, в которых можно хранить программы, и кто-то может подшутить над вами, поместив свою собственную программу для вас.

    Вы можете PATHвременно изменить переменную, используя

    export PATH="$PATH:/path/to/your/executable"
    

    (обратите внимание на $PATH после = ), или навсегда, добавив вышеуказанную строку в ваш .bashrcфайл (при условии, что вы используете bash).

rozcietrzewiacz
источник