既存のファイルを変更せずに「zsh-newuser-install」を実行する方法

既存のファイルを変更せずに「zsh-newuser-install」を実行する方法

私が解決したい最上位の問題はzsh-newuser-install設定スクリプトを実行することです。これは、zshが最初に開かれたときに実行され、.zprofile// ...ファイルが表示されないことです。.zshrc現在の設定がめちゃくちゃになりたくないので、オプションが何であるかを確認し、自動的に作成される設定を確認するために隔離された環境で実行したいと思います。

私の考えは、ドッカーコンテナ内でzshを実行することです。私はdockerについてはよくわかりませんが、nixについては少し知っているので、nixパッケージマネージャを使用して次のような表現でコンテナを構築します。

docker-example =
  pkgs.dockerTools.buildImage {
    name = "with-zsh";
    config = {
      Cmd = [ "${pkgs.zsh}/bin/zsh" ];
    };
    copyToRoot = with pkgs; [
      coreutils
      zsh
    ];
  }

コンテナをdockerにロードして実行します。

docker run -a stdin -a stdout -a stderr -i -t with-zsh:b9049wbw7bbil80pnnvl4cgxb2s9kr15

zshhomedirもなくzsh構成ファイルもない単純なシステムのシェルに入ります。設定プログラムを/通過できませんzsh-newuser-install。また、「/share/zsh/5.9/scripts/newuser」でinitスクリプトを見つけましたが、それをソーシングしても何も起こらないようです。 cli設定プログラムに行きたいです。

ユーザーが不足している問題のようです。実行中のwhoami出力:

#whoami
> whoami: cannot find name for user ID 0: No such file or directory

この特定の問題を解決するのに役立つ、またはこれが予期せず動作する理由を説明し、現在の構成を混乱させることなくいくつかのzsh構成を確認する方法についての他のアイデアに心から感謝します.よろしくお願いします!

ベストアンサー1

これにはDockerは必要ありません。自分のディレクトリではなく空のホームディレクトリでシェルを起動します。

HOME=$( mktemp -d ) exec zsh

おすすめ記事