У меня есть несколько очень простых скриптов bash, которые я собрал вместе для вещей, которые я делаю регулярно. Одним из них является запуск двуличия для выполнения моих задач резервного копирования. Ничего умного, просто куча если .. тогда заявления действительно. Поскольку это должно быть выполнено как sudo, лучше ли было бы помещать мой сценарий в / usr / bin (или другое место в PATH), а затем в root.root и chmod в 700?
15
git
для управления версиями ваши скрипты, помещать локальные копии репозиториев git туда, где вам нравится~
, а затем вставлять ссылки на скрипты~/bin
.git
как вgithub
облаках?/usr/local/bin
. В противном случае, я бы сказал, просто вставьте их~/bin
. Ваши собственные сценарии в обоих каталогах должны быть безопасны при обновлении.~/bin
что это лучшее место для большинства скриптов, так как вам не нужно использовать ихsudo
для редактирования, как вы делаете, когда они хранятся в/usr/local/bin
.Ответы:
Я сохраняю свои собственные сценарии в
/opt/scripts
.Если ваш сценарий должен выполняться каждым пользователем системы, вы можете создать символическую ссылку на
/usr/bin
.Если только root должен выполнять скрипт, вы можете создать символическую ссылку на
/usr/sbin
.Команда для добавления символической ссылки в
/usr/bin/
:Вы можете выполнить скрипт, потому что он
/usr/bin/
находится в вашем PATH по умолчанию.источник
/usr/bin
в качестве цели для сценария пользовательской / локальной оболочки - чтобы он был/usr/local/bin
(или/opt/bin
) в соответствии со стандартом иерархии файловой системы - в Debian Wiki, чтобы избежать конфликтов (большую часть времени вы хотите, чтобы предоставленные сценарии Ubuntu имели приоритет)./usr/local/bin
переопределяет/usr/bin
, как это происходит позже в пути. Это сделано специально, поскольку система не помещает туда файлы, поэтому вы можете помещать туда файлы, которые ДОЛЖНЫ переопределять предоставленные системой.Если никто другой, кроме вас, не использует эти сценарии:
Тогда вы можете держать их в
/home/$USER/bin
. Создайтеbin
папку, если ее там нет, и переместите туда файлы. Папка bin в вашем доме будет автоматически добавлена в переменную окружения PATH. Код находится в.profile
:Смотрите Как добавить / home / username / bin в $ PATH?
Или в некоторых системах это может быть в
.bashrc
:Спасибо старейшина Geek
Если эти сценарии будут использоваться другими пользователями:
Тогда либо
/usr/local/bin
или/opt/bin
хорошие варианты. См. Есть ли стандартное место для размещения пользовательских сценариев Linux?Надеюсь это поможет
источник
У меня есть каталог, который я использую для быстрого сбора моих локальных инструментов или вещей, которые я развертываю на разных компьютерах
/usr/local/apollo
. Есть ответвляется этого каталога дляflags
,bin
иlogs
.Для приложений, которые я загружаю и устанавливаю вне
apt-get
репозиториев по умолчанию, они помещаются в/opt/
каталог с именем приложения, а также еще один подкаталог для конкретной версии приложения. Таким образом, моя скомпилированная версия приложения похожаvlc
илиeclipse
не будет конфликтовать с распределенной версией.Я использую
/opt
это так, как это официально разработано.Кстати каталоги
/usr/local/bin
,/usr/local/apollo
и/opt
выживает свежую версию ОС установки перезапись.источник
$ echo $PATH /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
Мне нравится тот факт,/usr/local/bin
что на пути уже есть одна вещь, которую нужно помнить. Мне нравится ваш метод, который/opt/program/version
я могу использовать для ядра, которое я получаю и компилирую, как EnhanceIO, где они меняют вещи между версиями ядра. Является ли/apollo
приземление на Луну личным фаворитом или имеет значение Ubuntu?/usr/local/bin
иusr/local/sbin
такими, что последний получает ядерное оружие во время обновлений?/usr/local
каталоги, но ничего не помещает ни в один из них. Эти каталоги заполняются пользователем. Многие исходные программы вне репозиториев дают пользователю возможность выбрать, куда они хотят выполнить установку. По умолчанию в конфигурационных файлах/usr/local/bin
. Таким образом, из-за того, как часто используются эти каталоги, они включены в путь пользователя по умолчанию. По умолчанию система проверяет~/bin
и добавляет его к пути, если он существует.~/bin
во время установки или каждой загрузки? В чем разница междуsbin
иbin
? Кажется, они сосуществуют, должны быть квази-правила, которые вы выбираете, основываясь на типе программы, верно?~/bin
пути ... он не добавляется во время установки. Система проверяет его при каждом входе в систему и добавляет его в $ PATH, если он существует во время входа в систему. Посмотрите на последние две строки ваших~/.profile
настроек.