在 macos 的 zsh 中添加欢迎语或随机名言需修改 ~/.zshrc:静态用 echo;随机用内置数组加 shuf;大量内容可存为 quotes.txt 并读取;须加 [[ -t 1 ]] 判断避免自动化脚本误输出,且确保 utf-8 编码。
在 macos 的 zsh 环境中添加自定义欢迎语或随机名言,核心是修改 ~/.zshrc 文件,在 shell 启动时执行一段逻辑输出文字。这不需要额外插件,纯 shell 脚本即可实现,但要注意时机和方式,避免干扰命令补全或拖慢启动速度。
直接写入欢迎语(静态)
最简单的方式是在 ~/.zshrc 末尾添加一行 echo:
- 用你喜欢的编辑器打开配置文件:
code ~/.zshrc或nano ~/.zshrc - 在文件最底部新增一行(不要放在
source $ZSH/oh-my-zsh.sh之前):echo "✨ 欢迎回来,今天也要高效编码!" - 保存后运行
source ~/.zshrc生效
显示随机名言(轻量级方案)
无需安装外部工具,用系统自带的 shuf 和内置数组就能实现:
macOS 微信消息自动化工具。通过 GUI 自动化实现:发送消息给指定联系人、读取聊天内容、监控新消息。适用于需要自动化微信操作的场景,如定时发送、批量回复、消息备份等。依赖 peekaboo 进行屏幕截图和 UI 交互。仅支持 macOS。开源地址:https://github.com/chairmanmia...
- 在
~/.zshrc底部添加以下代码块:
QUOTE=(
"终端即世界 —— 你敲下的每一行,都在重写现实"
"Git commit -m 'fix typo' 是程序员最诚实的告白"
"zsh 不是终点,而是你掌控机器的第一步"
"别怕报错,那是 shell 在教你思考"
"模型跑通前,先让 prompt 跑通"
)
echo "? $(shuf -i 0-$(( ${#QUOTE[@]} - 1 )) -n 1 | xargs -I{} echo "${QUOTE[{}]})"- 这段代码定义了一个名言数组,每次新打开终端时随机选一条输出
-
shuf是 macOS 自带命令(macOS 12+ 默认可用),无需 brew 安装 - 如果提示
shuf: command not found,可临时用gshuf替代(需先brew install coreutils)
进阶:从文件读取名言(适合大量内容)
当你积累几十条名言,更适合维护成独立文件,便于更新和复用:
- 新建名言库:
mkdir -p ~/etc && nano ~/etc/quotes.txt - 每行写一条名言,例如:
“The computer was born to solve problems that did not exist before.” — Bill Gates“Any tool is an extension of the human body.” — Marshall McLuhan - 在
~/.zshrc中添加:
if [[ -f ~/etc/quotes.txt ]]; then QUOTE=$(shuf -n 1 ~/etc/quotes.txt | sed 's/^ *//; s/ *$//') [[ -n "$QUOTE" ]] && echo "? $QUOTE" fi
-
sed清理首尾空格,避免输出空白行 - 加了
if判断,确保文件不存在时不报错
注意事项与避坑
这类提示语容易引发两个实际问题,建议提前处理:
-
重复输出:如果你用
source ~/.zshrc重载配置,欢迎语会再次打印。这是正常行为,不是错误 -
影响自动化脚本:某些 CI 工具或 ssh 执行命令时会触发交互式 shell,导致意外输出。可在开头加判断:
[[ -t 1 ]] && echo "? Hello"—— 只在真正有终端(tty)时才显示 -
中文乱码:确保
~/.zshrc顶部已设置:export LANG=en_US.UTF-8export LC_ALL=en_US.UTF-8










