(${var//=/ }) 在 Alpine Linux 中不起作用,但在 zsh 中可以正常工作。有类似的选择吗?

(${var//=/ }) Doesn't work within Alpine Linux while works fine within zsh. Is there similar alternative?

我正在使用此代码段将字符串拆分为数组

line=FOO=BAR
arr=(${line//=/ })

以后可以使用,例如(获取拆分值):

varname=${arr[0]}

在 zsh 环境中运行良好,但在 Alpine Linux /bin/sh(也许是 ash)环境中不起作用。我得到:

./env.sh: line 15: syntax error: unexpected "(" (expecting "done")

是否有适用于 Alpine Linux 的等效字符串拆分命令?

使用 heredoc:

line=FOO=BAR
IFS='=' read -r var value <<EOF
$line
EOF