/ / Shell Script извиква функция с променлива? - функция, черупка, променливи, повикване

Shell Script наричат ​​функция с променлива? - функция, shell, променливи, повикване

Здравейте, създавам скрипт с черупки.

и приличен код изглежда

#!/bin/bash

test_func(){
{
echo "It works!"
}

funcion_name = "test_func"

Искам по някакъв начин да мога да извикам test_func (), използвайки променливата "име на функция"

Знам, че е възможно във php с помощта на call_user_func ($ function_name) или чрез sying $ function_name ()

възможно ли е това и при скриптовете на черупките?

Огромна признателност за помощта! :)

Отговори:

3 за отговор № 1
#!/bin/bash
test_func() {
echo "It works!"
}

function_name="test_func"

eval ${function_name}

10 за отговор № 2

Искате баш вграден eval, от man bash:

eval [arg ...] The args are read and concatenated together into a single command. This command is then read and executed by the shell, and its exit status is returned as the value of eval. If there are no args, or only null arguments, eval returns 0.

Можете също така да го постигнете с проста подмяна на променлива, както в

#!/bin/bash

test_func() {
echo "It works!"
}

function_name="test_func"

$function_name