Bash IFS 没有正确分割字符串

Bash IFS not splitting string correctly

我无法让 IFS 根据冒号分隔符正确拆分字符串。似乎字符串中的 -e 被视为一个选项,而不是被视为文字字符串。

#!/bin/bash
string_val="-e:SQA"

IFS=: read -a items <<< "$string_val"

echo "${items[0]}" # Prints empty value
echo "${items[1]}" # Prints SQA

如何解决这个问题?

字符串分割正确; ${items[0]} 中的 -e 被视为 echo 的选项。

$ string_val="-e:SQA"
$ IFS=: read -a items <<< "$string_val"
$ printf '%s\n' "${items[0]}"
-e