我想解决的顶级问题是运行zsh-newuser-install
配置脚本。这是 zsh 第一次打开并且没有看到.zprofile
// .zshrc
... 文件时执行的内容。我不想让它扰乱我当前的配置,所以我想在一些隔离的环境中运行它,只是为了看看它的选项是什么,并检查它为我生成的配置。
我的想法是在 docker 容器内运行 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
它让我进入一个简单的系统中的zsh
shell ,没有 homedir,也没有 zsh 配置文件。/
它不会让我通过zsh-newuser-install
配置器。我还在“/share/zsh/5.9/scripts/newuser”中找到了初始化脚本,并且采购它似乎没有任何操作。我希望跳入 cli 配置器。
我怀疑问题可能是缺少用户?运行whoami
产量:
#whoami
> whoami: cannot find name for user ID 0: No such file or directory
我非常感谢您帮助解决这个特定问题或解释为什么它对我来说出乎意料地工作,以及如何检查一些 zsh 配置而不弄乱我当前的配置的所有其他想法。提前致谢!
答案1
为此你不需要 Docker。只需使用除您自己的目录之外的空主目录启动您的 shell:
HOME=$( mktemp -d ) exec zsh