我在一個函數中有這一行,我正在將 bash 函數改編為 zsh 函數:
local info=( $(command df -P $fs | awk 'END{ print $2,$3,$5 }') )
每當我在 func 中調用它時,我都會得到以下資訊:
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 }') )