Aqui está um exemplo mais simples:
var='a#b#c'
IFS=\# arr=($var)
echo "${arr[@]}"
A construção arr=(...) cria uma matriz. Como IFS está definido como # , o valor de var é dividido em palavras em # em vez de espaços, então
IFS=\# arr=($var)
é equivalente a
arr=(a b c)
Assim, a matriz arr é formada pelos elementos a , b e c .
Pelo mesmo motivo, docCodeArr é uma matriz, feita do valor de imgCodeStr split em # . Isso é tudo o que existe para isso.
Tenha em atenção que, se o valor de imgCodeStr contiver caracteres-curinga (caracteres entre \[?* ), a shell expandirá o padrão de caracteres curinga para os nomes dos ficheiros correspondentes. Para evitar isso, coloque set -f antes dessa linha para desativar a expansão de curingas. Se você precisar reabilitar a expansão de curingas, use set +f .