- PVSM.RU - https://www.pvsm.ru -

“Nano-Framework” для автоматизации добавления скриптов в .{bash-zsh}rc

Как часто приходилось видеть репозиторий с кастомным скриптом по установке своих скриптов .bashrc или .zshrc файлы? Я точно писал такой велосипед и не один раз, для репозиториев, где храню свои личные конфиги. Давайте эту проблему решать.

“Nano-Framework” для автоматизации добавления скриптов в .{bash-zsh}rc - 1

Примеров таких велосипедов тьма тьмущая:

Я думаю и вы писали подобный велосипед. Так что мне пришло в голову это дело обобщить. Быстрый поиск не дал результатов и я написал свою поделку. Может что похожее уже и есть, но мне пока никто на это не указал. Вот как теперь выглядит README.md файл моего репозитория с конфигами:

In order to install config please do:

cd /tmp
git clone https://github.com/OwnInfrastructure/configs.git
cd configs
RC_PATH=.commonrc
curl -s https://raw.githubusercontent.com/b0noI/rcinstaller/master/install.sh | bash /dev/stdin $RC_PATH

Важно обратить внимание вот сюда:

 curl -s https://raw.githubusercontent.com/b0noI/rcinstaller/master/install.sh | bash /dev/stdin $RC_PATH

Это пример использования того самого фреймворка с названием “rcinstaller”. Репозиторий с ним можно найти вот тут [3].

Теперь вам нужно лишь создавать конфиги, а их интеграцию можете оставить этой поделке.

Как начать использовать это на своем репозитории

Проще не бывает, просто добавьте в ваш README файл что-то вроде:

curl -s https://raw.githubusercontent.com/b0noI/rcinstaller/master/install.sh | bash /dev/stdin <path_to_my_awesome_rc_file>

Что эта штука умеет делать?

На момент написания статьи скрипт выполнял нехитрый список шагов:

  1. Копирует указанный скрипт в домашнюю директорию.
  2. В .bashrc создает source ссылку на скрипт (если ее там еще нету).
  3. Повторяет то же самое но для .zshrc .

Как нетрудно догадаться, ваш конфиг должен иметь уникальное имя, так как скрипт тупо перезатрет существующий файл с таким же именем. Пока что поддерживается только один скрипт за раз.

Как вы можете помочь проекту

Если хочется помочь — есть список задач и багов [4]. Ну и конечно можно зайти на мою страничку на Patreon [5];)

ВНИМАНИЕ!

Добрый люди мне уже объяснили что такое использование curl может быть не совсем безопасным [6].

Автор: b0noII

Источник [7]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/bash/229758

Ссылки в тексте:

[1] https://github.com/mcorah/configs/blob/master/install.sh: https://github.com/mcorah/configs/blob/master/install.sh

[2] https://github.com/nathschmidt/bashrc/blob/master/install.sh: https://github.com/nathschmidt/bashrc/blob/master/install.sh

[3] тут: https://github.com/b0noI/rcinstaller

[4] список задач и багов: https://github.com/b0noI/rcinstaller/issues

[5] Patreon: https://www.patreon.com/b0noi

[6] такое использование curl может быть не совсем безопасным: https://www.idontplaydarts.com/2016/04/detecting-curl-pipe-bash-server-side/

[7] Источник: https://habrahabr.ru/post/319000/?utm_source=habrahabr&utm_medium=rss&utm_campaign=best