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
我无法让 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