Где я должен поместить мои скрипты bash?

10

У меня есть несколько очень простых сценариев bash, которые я объединил для вещей, которые я делаю регулярно. Один из них - выполнить двуличие для выполнения моих задач резервного копирования. Ничего умного, просто куча, если ... тогда заявления действительно. Поскольку это нужно запустить как sudo, было бы лучше всего поставить мой скрипт в / usr / bin (или другое место в PATH), chown to root.root и chmod до 700?     

задан hatterman 21.01.2018 в 23:30
источник

3 ответа

0

Я сохраняю свои собственные скрипты в /opt/scripts .

Если ваш скрипт должен выполняться каждым системным пользователем, вы можете создать символическую ссылку на /usr/bin .

Если только root должен выполнить скрипт, вы можете создать символическую ссылку на /usr/sbin .

Команда добавить символическую ссылку в /usr/bin/ :

ln -s /opt/scripts/<script> /usr/bin/

Вы можете выполнить скрипт, потому что /usr/bin/ по умолчанию находится в PATH .

    
ответ дан SynPrime 21.01.2018 в 23:53
источник
14

Если никакие другие пользователи, кроме вас, не используют эти скрипты:

Затем вы можете сохранить их в /home/$USER/bin . Создайте папку bin , если ее там нет, и переместите туда файлы. Папка bin в вашем доме автоматически добавится в переменную среды PATH. Код находится в папке .profile :

# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/bin" ] ; then
    PATH="$HOME/bin:$PATH"
fi

См. Как добавить / home / username / bin в $ PATH ?

Или в некоторых системах это может быть в .bashrc :

export PATH=${HOME}/bin/:${HOME}/.local/bin:${PATH}

Спасибо Eeeer Geek

Если этот скрипт должен использоваться другими пользователями:

Тогда либо /usr/local/bin , либо /opt/bin являются хорошими вариантами. См. Имеется ли стандартное место для размещения пользовательских сценариев Linux?

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

    
ответ дан user68186 22.01.2018 в 00:06
2

У меня есть каталог, который я использую для быстрой коллекции моих локальных инструментов или вещей, которые я развертываю на разных компьютерах в /usr/local/apollo . От этого каталога есть ветви для flags , bin и logs .

Для приложений, которые я загружаю и устанавливаю за пределами репозиториев apt-get по умолчанию, помещаются в /opt/ и каталог по имени приложения с еще одним подкаталогом для конкретной версии приложения. Таким образом, моя скомпилированная версия приложения, например vlc или eclipse , не будет конфликтовать с распределенной версией.

Мое использование /opt - это то, как он в основном официально разработан.

Кстати, каталоги /usr/local/bin , /usr/local/apollo и /opt выживают при перезаписывании новой версии ОС.

    
ответ дан L. D. James 27.09.2016 в 01:39