$ZSH_VERSION 未打印

问题描述

我有一个包含 echo $ZSH_VERSION 的 test.zsh 脚本,但它什么都不输出。在命令行中, echo $ZSH_VERSION 打印 5.8。这个变量在 zsh 脚本中为空是否有原因?我运行的是 macOS 11.1。

解决方法

正如评论中所指出的,像 .zsh 这样的文件扩展名对 Unix shell 没有任何意义。获取脚本时重要的是脚本第一行的 shebang。如果您希望脚本由 zsh 解释,则需要将其作为脚本的第一行:

#!/bin/zsh