Есть ли стандартное место для размещения пользовательских сценариев Linux?

70

Я разрабатываю набор сценариев, которые я хочу представить всем пользователям при настройке сервера. Но я не хочу их в стандартных местах, как /usr[/local]/[bin], [sbin]и т. Д.

Существует ли какое-то соглашение о том, где такие сценарии должны быть размещены?

vfclists
источник
2
Возможный дубликат superuser.com/questions/185184/where-should-i-put-my-script
user68186
Для тех, кто может быть заинтересован, здесь есть старая ветка usenet, vb.serverknecht.de/… , которая ведет к чему-то более прямому giwersworld.org/computers/linux/linux-file-system.html
vfclists,

Ответы:

48

Насколько я знаю, нет места для пользовательских сценариев Linux. Каталог, который должен использоваться для выборочной установки, является /optкаталогом, поэтому было бы безопаснее всего разместить их там. Но имейте в виду, что для возможности использования сценария без полного пути его необходимо включить в переменную PATH.

Если вам нужна помощь в изменении PATHпеременной для всех пользователей, вы можете проверить Как установить переменные PATH для всех пользователей на сервере? который ссылается на /etc/environmentфайл для настройки этого.

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

Надеюсь, это поможет

Davisein
источник
31

/usr/local/bin кажется обычным местом, и этот каталог должен быть пустым при новой установке.

Источник: принят ответ на этот вопрос:

Rolficus
источник
5
Это всегда сбивает меня с толку - пойдет ли сценарий (то есть недвоичный файл) bin? etc? opt? вздох.
Monkpit
5
Как только вы перестанете различать двоичный исполняемый файл и скрипт, вы сразу же решите свои сомнения :)
Марцин Орловски,
13

Вы можете поместить сценарии в /opt/binи добавить местоположение в PATH .

Видеть:

  1. Переменная среды пути Linux

  2. Постоянно добавить каталог в оболочку PATH

    Для глобального использования в:

    /etc/bash.bashrc

    или же

    /etc/profile
Базз-DEE
источник
1
В Ubuntu 16.04 /opt/binкаталог больше не существует, поэтому сначала нужно его создать. В этом случае вы могли бы также создать /usr/local/scriptsи поместить это в $ PATH.
WinEunuuchs2Unix
6

Есть несколько мест, где вы можете поместить их, обычно я помещаю их /opt/и обновляю PATH для каждого пользователя (или глобально /etc/bash.bashrc), чтобы он был доступен для пользователей. /opt/более или менее предназначен для того, что вы хотите сделать.

Марко Чеппи
источник
0

Там же ~/bin, который действует как /usr/local/bin, но только для одного пользователя. Чтобы включить его, создайте ~/binкаталог, выйдите и войдите снова.

Чай Т. Рекс
источник