bash 関数から zsh 関数に適応させている関数に次の行があります:
local info=( $(command df -P $fs | awk 'END{ print $2,$3,$5 }') )
関数内でこれを呼び出すたびに、次の結果が返されます:
mydf:9: 不正なパターン: info=( 712687280
しかし、シェルから呼び出すと、期待どおりの答えが返されます。
$ 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 }') )