# This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see . # oifs=$IFS inner () { #recho inner: "$IFS" >&2 echo a/b/c/d exit 0 } outer() { #recho outer: "$IFS" >&2 for i in 1; do IFS=/ read m v k a < <(IFS=$oifs inner) echo $m:$v:$k:$a done } outer unset m k v a b c d for j in 1; do IFS=: read a b c d done < <(outer) echo $a-$b-$c-$d unset m k v a b c d IFS=: read a b c d < <(outer) echo $a:$b:$c:$d