我正在使用opkg
entware 包管理器运行的嵌入式发行版。我已经bash
安装了,但现在或以后都不支持制表符完成。所以,我要切换到zsh
.
我已经成功切换到zsh
,但是在这个精简版本的 linux 中,更改 shell 后rc
启动zsh
via时读取的文件exec zsh
不会自动更改。它仍然是~/.bashrc
,这在很大程度上是良性的。
但是,它打破了zsh
提示。
\[\033[00;37m\]this-comp\[\033[01;31m\]: \[\033[01;37m\]$(echo -n "${PWD/#$HOME/\~}" | awk -F "/" '{
if (length($0) > 50) { if (NF>4) print $1 "/" $2 "/.../" $(NF-1) "/" $NF;
else if (NF>3) print $1 "/" $2 "/.../" $NF;
else print $1 "/.../" $NF; }
else print $0;}')/\[\033[00m\]
如何配置或强制启动文件.zshrc
而不是.bashrc
在更改 shell 时启动?否则,我将不得不修改.bashrc
设备更新程序提供的脚本。
答案1
要在更改 shell 时强制启动文件为 .zshrc 而不是 .bashrc,可以在执行 zsh 时使用 --rcfile 选项。例如,您可以使用该命令exec zsh --rcfile ~/.zshrc
来确保启动 zsh 时读取 .zshrc 文件。还可以使用 -f 选项,该选项会在 zsh 启动时执行指定的配置文件,如exec zsh -f ~/.zshrc
.最后,您可以使用以下命令设置 ZDOTDIR 环境变量,它将覆盖默认配置目录export ZDOTDIR=~/.zshrc.