终端优化软件
约 707 字大约 2 分钟
2025-04-09
主要是关于 zsh
的
- 登录 shell:需要用户名、密码登录后才能进入的 shell(或者通过--login”选项生成的 shell)。
- 非登录 shell:不需要输入用户名和密码即可打开的 Shell,例如:直接命令“bash”就是打开一个新的非登录 shell;在 Gnome 或 KDE 中打开一个“终端”(terminal)窗口程序也是一个非登录 shell。
- 退出一个登录 shell:exit 或者 logout;退出一个非登录 shell:只能 exit。
echo $-
,有i - interactive
,所以是交互式shell
;反之则为非交互式。
Zsh 的启动顺序包括执行一系列不同的配置文件,具体取决于 zsh 的运行模式(交互式、登录、非登录等)。以下是 zsh 启动时的主要文件和顺序:
1. 登录 shell 启动时:
当 zsh 作为登录 shell 启动时(例如通过终端或在 SSH 登录时),它会按照以下顺序读取配置文件:
/etc/zsh/zshenv
用于设置系统级别的 环境变量~/.zshenv
用于用户级别 环境变量/etc/zsh/zprofile
用于放置系统中与登录时相关的命令~/.zprofile
用于放置用户中与登录时相关的命令/etc/zsh/zshrc
交互式终端会加载这个系统级配置文件,通常放置 主题、别名、强化、函数和其他自定义设置~/.zshrc
交互式终端会加载这个用户级配置文件,通常放置 主题、别名、强化、函数和其他自定义设置/etc/zsh/zlogin
在shell
完全启动后执行的系统级别文件,通常放置用户希望在 登录完成后执行的命令~/.zlogin
在shell
完全启动后执行的用户级别文件,通常放置用户希望在 登录完成后执行的命令/etc/zsh/zlogout
类似/.zlogout
类似
/etc/prifile
用于防止兼容中与登录时相关的命令(有的不加载,这只是做兼容)
2. 退出登录时:
当 zsh 作为登录 shell 退出时,以下文件按顺序执行:
/etc/zsh/zlogout
- 系统级别的登出脚本,执行一些清理任务。
~/.zlogout
- 用户级别的登出脚本,用于执行清理或记录退出时的操作。
3. 非登录 shell 启动时:
如果 zsh 作为非登录的交互式 shell 启动(例如打开新终端窗口),则会跳过 zprofile
和 zlogin
,按以下顺序执行:
/etc/zsh/zshenv
~/.zshenv
/etc/zsh/zshrc
~/.zshrc
zsh 安装与配置:9步打造高效命令行 - HackerNeo
X-CMD | 开源轻量级 POSIX 脚本,用于管理工具 (500+) 和提供经典命令扩展
yazi
trmp