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

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

例如 zsh 使用变量$fpath来定义包含目录。我
如何知道变量的类型$fpath?即fpath

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

答案1

您可以使用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

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

相关内容