Hi, I could see different bash behaviour and do not know if these are regressions in jessie or fixes for jessie. I searched for bugrepots (bash jessie) but did not find something I could connect to it itemcoumt in "version 2" differs and especially "version 3" bothers me: error exit in jessie and NO error exit when running in stretch).
Yours lopiuh =========================== CODE: =========================== #!/usr/bin/env bash set -o errexit # (set -e) set -o nounset # (set -u) set -o pipefail shopt -s nullglob # enable #shopt -s failglob #set -o noglob clear echo "===========================Version 1===========================" echo "Bash Version: $BASH_VERSION" echo -n "IFS:"; echo "$IFS" | cat -vte echo unset _array; declare -a _array _inputstring="$(echo -e "item01\nitem02\nitem03")" echo "inputstring:" echo -n "$_inputstring" | xxd; echo read -ra _array <<<$(echo $_inputstring) # <<< NO -"- around string echo "itemcount of array: ${#_array[@]}" for i in "${_array[@]}"; do echo -n "element: "; echo -n "$i" | xxd; echo done # echo "===========================Version 2===========================" echo "Bash Version: $BASH_VERSION" echo -n "IFS:"; echo "$IFS" | cat -vte echo unset _array; declare -a _array _inputstring="$(echo -e "item01\nitem02\nitem03")" echo "inputstring:" echo -n "$_inputstring" | xxd; echo read -ra _array <<<$(echo "$_inputstring") # <<< WITH -"- around string echo "itemcount of array: ${#_array[@]}" for i in "${_array[@]}"; do echo -n "element: "; echo -n "$i" | xxd; echo done echo "===========================Version 3===========================" echo "Bash Version: $BASH_VERSION" echo -n "IFS:"; echo "$IFS" | cat -vte echo unset _array; declare -a _array _inputstring="telnet*" echo "inputstring:" echo -n "$_inputstring" | xxd; echo read -ra _array <<<$(echo $_inputstring) # <<< NO -"- around string, 0 item due to globbing. errexit in jessie, no exit in stretch echo "itemcount of array: ${#_array[@]}" for i in "${_array[@]}"; do echo -n "element: "; echo -n "$i" | xxd; echo done echo "Ende" exit OUTPUT in jessie: ===========================Version 1=========================== Bash Version: 4.3.30(1)-release IFS: ^I$ $ inputstring: 0000000: 6974 656d 3031 0a69 7465 6d30 320a 6974 item01.item02.it 0000010: 656d 3033 em03 itemcount of array: 3 element: 0000000: 6974 656d 3031 item01 element: 0000000: 6974 656d 3032 item02 element: 0000000: 6974 656d 3033 item03 ===========================Version 2=========================== Bash Version: 4.3.30(1)-release IFS: ^I$ $ inputstring: 0000000: 6974 656d 3031 0a69 7465 6d30 320a 6974 item01.item02.it 0000010: 656d 3033 em03 itemcount of array: 3 element: 0000000: 6974 656d 3031 item01 element: 0000000: 6974 656d 3032 item02 element: 0000000: 6974 656d 3033 item03 ===========================Version 3=========================== Bash Version: 4.3.30(1)-release IFS: ^I$ $ inputstring: 0000000: 7465 6c6e 6574 2a telnet* itemcount of array: 0 /mnt/data/sh/finalize_installation.sh: Zeile 91: _array[@] ist nicht gesetzt. =============================================================== OUTPUT in stretch: =============================================================== ===========================Version 1=========================== Bash Version: 4.4.5(1)-release IFS: ^I$ $ inputstring: 00000000: 6974 656d 3031 0a69 7465 6d30 320a 6974 item01.item02.it 00000010: 656d 3033 em03 itemcount of array: 3 element: 00000000: 6974 656d 3031 item01 element: 00000000: 6974 656d 3032 item02 element: 00000000: 6974 656d 3033 item03 ===========================Version 2=========================== Bash Version: 4.4.5(1)-release IFS: ^I$ $ inputstring: 00000000: 6974 656d 3031 0a69 7465 6d30 320a 6974 item01.item02.it 00000010: 656d 3033 em03 itemcount of array: 1 element: 00000000: 6974 656d 3031 item01 ===========================Version 3=========================== Bash Version: 4.4.5(1)-release IFS: ^I$ $ inputstring: 00000000: 7465 6c6e 6574 2a telnet* itemcount of array: 0 Ende