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

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

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

  • Двойная и тройная замена в bash и zsh
  • Не удается открыть оболочку после изменения оболочки по умолчанию
  • Zsh, нечувствительное между `_` и` -`
  • Почему требуется перезагрузка ежедневной .zshrc с использованием псевдонима, содержащего $ (date -u +% Y% m% d)?
  • Как изменить цикл for?
  • Как я могу остановить Z-оболочку от сговора, чтобы вмешаться в вывод GNU Make?
  • Почему некоторые ZLE-последовательности перенаправляются на «self-insert»?
  • Тема 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

    почему ежедневный cron не работает на CentOS 6?

    Как перезапустить службу в скрипте bash?

    Как выйти из экрана входа в систему и запустить командную строку во время экрана входа в систему

    Возможно ли сделать загрузку системы, если systemd-networkd не удается?

    Поддержка файлов, блокировка разделяемой памяти и диска

    Когда нужно экспортировать переменную?

    Как использовать $? и тест для проверки функции?

    urxvt Открыть новую вкладку с тем же текущим каталогом, что и текущая вкладка

    Как указать параметры конфигурации среды выполнения subversion?

    Переменные целочисленного типа в Bash?

    Заголовки ядра для ядра 2.6.32-504.e16.x86_64 не найдены

    Funtoo: define для emerge для использования определенной версии в новом обновлении

    Что такое формат отладочных символов Linux?

    awk-код для умножения заданного столбца на число в файле, разделенном пространством

    Можно ли перечислить все файлы, имеющие по крайней мере 3 буквы на его имени?

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