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

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

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

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 ).

  • что такое zsh-эквивалент экспорта bash -f
  • / etc / zprofile или / etc / zsh / zprofile
  • Как перенаправить stdout справа налево
  • Получить коды сканирования в восьмеричном формате
  • zsh: завершение меню для glob
  • Могу ли я иметь историю истории оболочки, как расширяются шаблоны?
  • Функции, определенные в .zshrc, не найдены при запуске скрипта
  • Как расширить подстроку команды?
  • Очистить или отключить псевдонимы в zsh
  • Почтовая папка без указания пути к папке и требует только один аргумент
  • xargs не генерирует правильную команду
  • Как запустить команду в zsh, не нажимая ее на историю текущего сеанса?
  • Linux и Unix - лучшая ОС в мире.