zsh - 变量赋值不起作用

Joh*_*rry 3 zsh

我在将 bash 函数改编为 zsh 函数的函数中有这一行:

local info=( $(command df -P $fs | awk 'END{ print $2,$3,$5 }') )
Run Code Online (Sandbox Code Playgroud)

每当我在 func 中调用它时,我都会得到:

mydf:9: 错误模式: info=( 712687280

但是当我从 shell 调用它时,我得到了预期的答案:

$ info=($(command df -P $fs | awk 'END{ print $2,$3,$5 }'))
$ echo $info                                                                                      
712687280 166242288 25%
Run Code Online (Sandbox Code Playgroud)

我进入 zsh 2 天,所以我对导致问题的原因有点无知。

Nic*_*ton 7

将分配放在与local定义不同的行中:

local info
info=( $(command df -P $fs | awk 'END{ print $2,$3,$5 }') )
Run Code Online (Sandbox Code Playgroud)