Назад | Перейти на главную страницу

Могу ли я разместить свой сценарий в / usr / bin?

Я написал небольшой сценарий bash для запуска, остановки и перезапуска моих приложений Java, и я хочу сделать его доступным для всех пользователей, чтобы они могли его запустить. Должен ли я просто поместить это в /usr/bin сделать это? Это подходящее место для моих скриптов? Разве это не только для сценария установленного пакета и прочего?

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

Стандарт иерархии файловой системы

Я бы рекомендовал вставить это /opt. Вы можете создать каталог с именем вашего приложения под /opt а потом bin каталог под ним, поэтому ваш путь будет выглядеть так:

/opt/<your_app_name>/bin

Затем вы создаете два сценария в /etc/profile.d - <your_app_name>.sh и <your_app_name>.csh и в этих сценариях вы добавляете указанный выше путь к глобальному $PATH переменная, чтобы сделать исполняемые файлы вашего приложения доступными для всех пользователей. Вот и все.

Я думаю, что этот подход чище, чем вставлять /usr/local/bin поскольку все ваши изменения в системе локализованы в одном каталоге (за исключением двух скриптов в /etc/profile.d), ваше приложение легко удалить вручную, и ваши файлы не смешиваются с файлами других приложений (что может быть в случае /usr/local). Этот подход также совместим с "Стандарт иерархии файловой системы".

Конечно, ничто не мешает вам разместить скрипт в / usr / bin, дав ему права на выполнение во всем мире (что-то вроде chmod 755) и позволяя пользователям запускать его. Если вы хотите соответствовать «пути UNIX», есть более подходящие места. Я уверен, что начну серию комментариев о том, почему это неправильно, но я бы научился хранить это в /usr/local/bin/ вместо. В /usr/local Каталог обычно предназначен для программного обеспечения, не управляемого напрямую дистрибутивом, такого как сторонние приложения или сценарии.