使用具有非空白空间值的 IFS 解析数组会创建空元素。
即使使用tr -s将多个 delim 缩小为单个 delim 也是不够的。
一个例子可以更清楚地解释这个问题..
有没有办法通过调整 IFS 来实现“正常”结果(是否有相关的设置来改变 IFS 的行为?.... 即与默认空格相同国际金融服务公司。
var=" abc def ghi "
echo "============== IFS=<default>"
arr=($var)
for x in ${!arr[*]} ; do
echo "# arr[$x] \"${arr[x]}\""
done
#
sfi="$IFS" ; IFS=':'
set -f # Disable file name generation (globbing)
# (This data won't "glob", but unless globbing
# is actually needed, turn if off, because
# unusual/unexpected combinations of data can glob!
# and they can do it in …Run Code Online (Sandbox Code Playgroud)