Я собираюсь установить "leiningen", который представляет собой сценарий bash для языка программирования clojure с большой полезностью ... ... но я не уверен, где подходит -put- исполняемый сценарий в Linux система, чтобы она была доступна постоянно и стабильно.
Я не думаю, что где-нибудь в / home имеет смысл, но я не знаю, какие каталоги / каталоги должны использоваться для этого.
/ usr / share?
(Заметка: ~
переводится как /home/user
в этом посте)
Лично я помещаю все свои собственные системные скрипты в /usr/local/bin
и все мои личные сценарии bash в ~/bin
. Очень немногие программы, которые я устанавливаю, помещаются в /usr/local/bin
каталог, поэтому он не слишком загроможден и уже был в $PATH
переменная на большинстве моих машин.
Добавить /usr/local/bin
в ваш системный путь (если его еще нет) добавьте это в /etc/profile
:
PATH=$PATH:/usr/local/bin
export PATH
Добавить ~/bin
к пути вашего пользователя добавьте это в ~/.bash_profile
:
PATH=$PATH:$HOME/bin
export PATH
Иногда по умолчанию .bash_profile
файл будет иметь оператор if, который автоматически добавляет ~/bin
к $PATH
если он существует, создайте ~/bin
и откройте новый терминал, чтобы узнать, делает ли это уже ваш.
/ usr / local / действительно подходящее место, а / opt действительно для сторонних приложений; «/ opt зарезервирован для установки дополнительных пакетов программного обеспечения». Это часть стандарта иерархии файловой системы.
Видеть http://www.pathname.com/fhs/pub/fhs-2.3.html для обсуждения по / opt.
Для / usr / local / он предназначен для «использования системным администратором». Только не забывайте о том, что там есть - задокументируйте.
Раньше вы использовали что-то вроде / opt. Все в порядке, если оно обновляется в $ PATH для пользователей, которые должны его иметь (следовательно, что-либо в / home - плохая идея).
/usr/share/clojure
кажется обычным местом для размещения двоичных файлов и библиотек clojure - почему я не знаю, это кажется естественным для /usr/local/share/clojure
- так что создавая site
подкаталог для этих сценариев bash выглядит нормально.
Общий смысл заключается в том, что имеет смысл организовывать сценарии по функциям, а не размещать все сценарии bash в одном месте.
/usr/local
, Я считаю, что есть некоторая путаница в значении слова «местный».
Насколько я понимаю, «локальный» не означает «исходящий на / с локальной машины», а, проще говоря, «специфический для локальной машины», который может исходить или не исходить на / с локальной машины.