如何在 zsh 中获取变量数据类型?

the*_*fog 4 zsh variable

例如 zsh 使用变量$fpath来定义包含目录。
我怎么知道变量$fpath是什么类型的?即是fpath一个

  • 细绳
  • 数字
  • 数值数组
  • 关联数组

cuo*_*glm 11

您可以使用t参数扩展标志:

$ print -rl -- ${(t)fpath}
array-special
$ a=1
$ print -rl -- ${(t)a}
scalar
$ a=(1 2)
$ print -rl -- ${(t)a}
array
$ typeset -A a
$ print -rl -- ${(t)a}
association
Run Code Online (Sandbox Code Playgroud)

请注意,您无法区分整数数组或字符串数​​组。