function_name="some_func"
eval "function $function_name() { echo ok this is dynamic function; }"
Or another style
eval function "$function_name"\(\) \{ echo ok this is dynamic function\; \}
Above examples both evaluated as below.
function some_func(){ echo ok this is dynamic function; }
Only $function_name
is expanded as shell variable before eval evaluating.
$ some_func
ok this is dynamic function
- bash-4.4
- sh-3.2
- GNU bash, version 3.2.57(1)-release (x86_64-apple-darwin17)