Hello, trying to minimize a shell code I found an unobvious moment with heredocs and subshells. Is it specified by POSIX how next code should be parsed? dash output for this code differs from bash and zsh. --- code prefix() { sed -e "s/^/$1:/"; } DASH_CODE() { :; } prefix A <<XXX && echo "$(prefix B <<XXX echo line 1 XXX echo line 2)" && prefix DASH_CODE <<DASH_CODE echo line 3 XXX echo line 4)" echo line 5 DASH_CODE --- bash 4.3.42 output: A:echo line 3 B:echo line 1 line 2 DASH_CODE:echo line 4)" DASH_CODE:echo line 5 --- dash 0.5.8 output: A:echo line 1 B:echo line 2)" && prefix DASH_CODE <<DASH_CODE B:echo line 3 line 4 line 5 -- Oleg -- To unsubscribe from this list: send the line "unsubscribe dash" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html