Как я могу найти системный PATH в Linux для любого исполняемого файла? (дистрибутив Ubuntu)

Я пробовал использовать команду: echo $PATH, но получаю путь, который не распознается как фактический каталог на моей машине:

"/home/user_name/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"

Если я хочу установить новую программу в правильный каталог, как я могу найти системный ПУТЬ с помощью терминала?


person Anthony O    schedule 17.09.2016    source источник


Ответы (2)


Ну, это пути. Исполняемые файлы (двоичные файлы или сценарии с исполняемым битом и действительным bang-path) должны быть помещены туда, чтобы их можно было выполнять без добавления определенного места.

person Benjamin Judas    schedule 17.09.2016

Ваша проблема в том, что вы вообще не понимаете пути UNIX.

"/home/user_name/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"

Означает:

/home/user_name/bin
/usr/local/sbin
/usr/local/bin

и так далее.

Двоеточие : используется для разделения путей при объединении их в строку! Таким образом, в отличие от «окна», C:foo будет означать: два пути (C и foo в мире Unix/Linux)

И я почти уверен, что все эти разные пути существуют в вашей системе.

И для этого другого подразумеваемого вопроса: определение правильного каталога для нового исполняемого файла может очень сильно зависеть от вашей новой вещи.

Когда вы писали для себя небольшой скрипт, вы обычно помещали его в ~/bin. Но то, что должно использоваться другими пользователями, может быть, например, в /usr/local/bin. Для получения более подробной информации об этой части; перейти к предложенному вам "дублированному" вопросу

person GhostCat    schedule 17.09.2016