Добавить бинарный файл в мой путь

У меня есть исполняемый файл. Я хочу выполнить исполняемый файл в терминале с именем только как другие команды.

Я могу поместить свой исполняемый файл в /usr/local/bin или добавить его PATH в ~/.bashrc. Оба будут работать.

Что лучше? Есть ли разница?

15
задан 30 March 2014 в 02:15

4 ответа

Например, позвольте мне принять, у Вас есть исполняемый файл myscript. Необходимо выполнить его от терминала как,

/path/to/myscript

Изменение уровня пользователя

Если Вы добавляете PATH из того исполняемого файла к ~/.bashrc, можно выполнить исполняемый файл с именем только отовсюду (Avinash Raj, уже упомянутый), как

myscript

Но изменение будет затронуто на уровне пользователя. Это означает, есть ли у Вас какой-либо другой пользователь (пользователи), они не могли бы получить доступ к исполняемому файлу с именем только. Если у них есть верные полномочия, они должны выполнить исполняемый файл как,

/path/to/myscript

Кроме того, Вы не сможете запустить скрипт как sudo, поскольку это не находится в PATH из корня, Для выполнения как sudo необходимо использовать,

sudo /path/to/myscript

системное изменение уровня

Если Вы вставляете свой сценарий /usr/local/bin к этому можно получить доступ в масштабе всей системы и для всех пользователей. В этом случае любой пользователь может выполнить Ваш исполняемый файл как (подвергающийся наличию верных полномочий)

myscript

В этом случае можно выполнить исполняемый файл как sudo также как,

sudo myscript

Теперь выберите один путь в зависимости от своей потребности.

12
ответ дан 30 March 2014 в 02:15

Добавление местоположения файла к Вашему $PATH переменная в Вашем ~/.bashrc файл только позволит Вам выполняться от любого местоположения, тогда как помещение его в /usr/bin/ позволит всем пользователям в Вашей системе выполнять тот файл от любого местоположения.

, Почему это? Поскольку, Ваш ~/.bashrc файл только видим Вам как пользователь. Таким образом, вся переменная изменяется сделанный, ограничены Вами. Принимая во внимание, что, добавляя то, что файл к /usr/bin позволит файлу оставаться там для всех пользователей и с тех пор /usr/bin, присутствует в $PATH переменная, если кто-то не удаляет его, позволит всем пользователям выполнять его от любого местоположения.

2
ответ дан 30 March 2014 в 02:15

Если Вы поместите исполняемый файл в /usr/bin или /usr/local/bin, то Вы будете в состоянии запустить ту программу, только определяя имя (your-program вместо /usr/local/bin/your-program).

, Если Вы вместо этого добавляете каталог, содержащий программу к ~/.bashrc файл к эти PATH, тогда любой исполняемый файл, существующий в том каталоге, может быть запущен, только введя его имя.

1
ответ дан 30 March 2014 в 02:15

Так же, как дополнение к ответу @souravc...

Для "Изменения уровня пользователя", вместо того, чтобы редактировать ~/.bashrc файл можно просто создать каталог $HOME/bin/ и поместить сценарии туда.

каталог будет автоматически добавлен к PATH (по крайней мере, начиная с Ubuntu 12.04), что означает, что Вы сможете выполнить все сценарии/исполняемые файлы в том каталоге с простым:

myscript

Просто мои 2 цента. :)

пз - я пытался отправить это как комментарий к ответу @souravc, но у меня не было достаточной репутации. :-(

0
ответ дан 30 March 2014 в 02:15

Другие вопросы по тегам:

Похожие вопросы: