我在从 bash 函数改编为 zsh 函数的函数中有此行:
local info=( $(command df -P $fs | awk 'END{ print $2,$3,$5 }') )
每当我在函数中调用它时,我都会得到这个:
mydf:9:错误模式:信息=(712687280
但是当我从 shell 调用它时,我得到了预期的答案:
$ info=($(command df -P $fs | awk 'END{ print $2,$3,$5 }'))
$ echo $info
712687280 166242288 25%
我使用 zsh 已经 2 天了,所以我不太清楚是什么导致了这个问题。
答案1
将赋值与定义放在不同的行上local
:
local info
info=( $(command df -P $fs | awk 'END{ print $2,$3,$5 }') )