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

时间:2018-12-11 02:29:43

标签: shell sh alpine

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

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

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

varname=${arr[0]}

在zsh环境中运行良好,但是在Alpine Linux /bin/sh(可能是ash)环境中无法正常工作。我得到了:

  

./ env.sh:第15行:语法错误:意外的“(”(期望“完成”)

在Alpine Linux上是否存在等效的字符串拆分命令?

1 个答案:

答案 0 :(得分:2)

使用Heredoc:

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