Как управлять конфигурациями на нескольких компьютерах и оболочках?

Я путешествующий технолог, у которого не всегда есть надежная связь с домашним сервером. Я склонен прыгать между zsh и bash на нескольких своих машинах.

Какой совет или рекомендация у вас есть для нормализации моих псевдонимов оболочки и переменных между оболочками?

  • Как я могу программно получить доступ к завершению zsh?
  • Завершение Zsh для монтирования (/ run / media / DISK-LABEL)?
  • Все файлы в каталоге, которые не заканчиваются в определенной строке?
  • Как установить HOSTNAME в zsh?
  • pushd, popd vs cd, cd- in bash и zsh
  • в zsh, как скрыть обратную косую черту в меню завершения
  • zsh продолжает забывать PATH vars
  • Почему «набор» не работает для меня, а «объявляет»?
  • One Solution collect form web for “Как управлять конфигурациями на нескольких компьютерах и оболочках?”

    Главное – поставить ваши точечные файлы под контроль версий. Когда вы используете новую машину, проверьте их.

    cd git clone https://github.com/saterhater/home.git 

    В случае, если на компьютере нет вашего средства контроля версий, вы можете, по крайней мере, загрузить версию только для чтения. Гитуб автоматизирует это; если вы используете другой хостинг, который не предоставляет такую ​​функцию, сделайте генерацию zip-файла фиксацией фиксации.

     cd wget -O - https://github.com/saterhater/home/archive/master.zip | unzip - 

    Что касается содержимого файлов, вам, очевидно, нужно будет убедиться, что они переносимы. Для этого нет волшебного рецепта, всего несколько советов.

    • Обязательно проверьте свои файлы в более ранних версиях оболочек, а не только те, которые вы используете. Я сохраняю chroots со старыми версиями Debian, чтобы получить ряд версий различного программного обеспечения (моя личная конфигурация должна в принципе работать с bash 1.14 и zsh 2.5, хотя я не использовал версии, ставшие годами).
    • Если вы полагаетесь на какую-либо необычную зависимость, проверьте ее в своем VCS или напишите некоторую автоматизацию, чтобы ее загрузить.
    • Если вы хотите использовать какую-либо функцию, когда она присутствует, но сохраните резервную копию, если она отсутствует, проверьте функцию, а не проверьте номер версии. Это более надежный (например, некоторые системы могут иметь ночную сборку).

    Вы можете делиться некоторыми вещами между bash и zsh, в основном псевдонимами и некоторыми функциями. Связывание клавиш и настройки подсказок не подлежат совместному использованию. Функции завершения Bash могут использоваться с не-древними версиями zsh. Если у вас есть код, который использует автоматическое разделение и подталкивание некотируемых переменных, которые zsh не выполняет, вы можете запустить emulate -L ksh чтобы заставить zsh переключиться в режим совместимости ksh на время функции; сделать emulate псевдоним : если оболочка не является zsh (вы можете проверить наличие переменной ZSH_VERSION ).

    Linux и Unix - лучшая ОС в мире.