複数のコンピュータとシェルで構成を管理する方法は?

複数のコンピュータとシェルで構成を管理する方法は?

私は多くの旅行をしている技術者であり、常にホームサーバーに確実に接続されているわけではありません。私はいくつかのコンピュータでzshとbashを切り替える傾向があります。

シェル間シェルエイリアスと変数の標準化に関する提案や推奨事項はありますか?

答え1

基本的なことは、ドットファイルをバージョン管理に置くことです。新しいマシンを使用するときに確認してください。

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

コンピュータにバージョン管理ツールがない場合は、少なくとも読み取り専用バージョンをダウンロードする必要があります。 Githubはこのプロセスを自動化します。これらの機能を提供していない他のホストを使用している場合は、zipファイル生成をコミットフックとして使用してください。

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

ファイルの内容については、明らかに移植可能であることを確認する必要があります。魔法の秘密はなく、ただいくつかのトリックしかありません。

  • 使用しているシェルだけでなく、以前のバージョンのシェルでファイルをテストします。私はいつも以前のDebianバージョンを使用したChrootさまざまなバージョンのさまざまなソフトウェアを入手してください(個人設定は原則としてbash 1.14およびzsh 2.5で動作するはずですが、長年の間古いバージョンを使用していません)。
  • 一般的でない依存関係に依存している場合は、VCSにチェックインするか、いくつかの自動化を作成してダウンロードしてください。
  • 一部の機能があるときに使用したいが、存在しないときに置き換えることができる場合は、バージョン番号の代わりに機能をテストしてください。より強力です(たとえば、一部のシステムには夜間ビルドがある場合があります)。

bashとzshの間では、主にエイリアスといくつかの機能を共有できます。キーバインディングとプロンプト設定は共有できません。 Bash Completeは、以前のバージョンではなくzshで利用できます。 zsh が実行しない自動分割と引用符のない変数を利用するいくつかのコードがある場合、シェルがemulate -L kshzsh でない場合、zsh は関数の実行中に ksh 互換モードに切り替わるように実行できます。emulate変数が存在するかどうかをテストできます)。:ZSH_VERSION

関連情報