Здравейте, създавам скрипт с черупки.
и приличен код изглежда
#!/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