Liest eine Ihrer Funktionen von stdin (zB: der read
Befehl)? In diesem Fall wird der Rest der FUNCTION_FILE verschluckt.
Ändern Sie die while-Schleife, um einen anderen Dateideskriptor zu verwenden:
line_num=0 while read -u3 line; do echo "LINE_NUMBER=$(( ++line_num ))" $func done 3<"$function_file"
Holen Sie sich die Gewohnheit, ALL_CAPS_VARIABLES zu verwenden - eines Tages verwenden Sie versehentlich "PATH" und brechen Ihr Skript.