Configuration Information [Automatically generated, do not change]: Machine: x86_64 OS: linux-gnu Compiler: gcc Compilation CFLAGS: -g -O2 -fdebug-prefix-map=/build/bash-2bxm7h/bash- 5.0=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-parentheses -Wno-format-security uname output: Linux hostname 4.19.0-8-amd64 #1 SMP Debian 4.19.98-1 (2020-01-26) x86_64 GNU/Linux Machine Type: x86_64-pc-linux-gnu
Bash Version: 5.0 Patch Level: 3 Release Status: release Description: A function containing a nested function definition with heredoc cannot be serialized into the environment variable correctly, and leads to failures in a subshell. See also: https://stackoverflow.com/questions/60564674/exporting-a-function-with-a-nested-function-definition-and-heredoc-in-bash Repeat-By: Create a script: #!/bin/bash f() { g() { cat <<EOF EOF } g } export -f f bash -c ':' Executing it yields the following error: bash: f: line 8: syntax error: unexpected end of file bash: error importing function definition for `f'