read -d EOF stdin for word in $stdin; do stuff; done stdin=$(cat) for word in $stdin; do stuff; done while read -r -a array; do for word in "${array[@]}"; do stuff; done done if test "$char" = '^V'; then... $ cat | od -b ^D 0000000 004 012 0000002 $ read -d "$(echo -e '04')" stdin foo bar quuz^Hx ^D $ echo "$stdin" foo bar quux $ for word in $stdin; do echo $word; done foo bar quux