La razón de que IFS no se está estableciendo es que fiesta no está viendo que con un comando aparte ... que necesita para poner un avance de línea o un punto y coma después de la orden con el fin de darlo por terminado:
$ cat /tmp/ifs.sh
LINE="7.6.5.4"
IFS='.' read -a ARRAY <<< "$LINE"
echo "$IFS"
echo "${ARRAY[@]}"
$ bash /tmp/ifs.sh
7 6 5 4
pero
$ cat /tmp/ifs.sh
LINE="7.6.5.4"
IFS='.'; read -a ARRAY <<< "$LINE"
echo "$IFS"
echo "${ARRAY[@]}"
$ bash /tmp/ifs.sh
.
7 6 5 4
no no estoy seguro de por qué hacerlo de la primera vía fue un error de sintaxis sin embargo.
Otro uso de este operador (en lugar de tuberías con nombre con mknod) cuando necesita varias tuberías en una sola | pipline: ej. datos de eco | comando --data-on-stdin --other-data-on-fd-3 3 <<< 'other-data' – mosh