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

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

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

  • Кластеризация идентичных файлов, игнорирующих пробелы и разрывы строк
  • Запуск команд, хранящихся в переменных оболочки
  • Где задана функция, заданная «подсказка»?
  • Существуют ли проблемы с дефисами в функциях, псевдонимах и исполняемых файлах?
  • Различные оболочки для интерактивной и неинтерактивной работы
  • Как я могу вывести «временно» в оболочку, как это делает завершение вкладки zsh?
  • zsh продолжает забывать PATH vars
  • tmux перестала нормально работать с zsh и oh-my-zsh
  • 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 ).

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