开发者

Shell Script call a function with a variable?

Hi I'm creating a shell script.

and an example code looks like

#!/bin/bash

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

funcion_name = "test_func"

I want to somehow be able to call test_func() using the variable "function_name"

I know that's possible in php using call_user_func($function_name) or by sying $function_name()

is this also possible in the shel开发者_Python百科l scripting?

Huge appreciation for the help! :)


You want the bash built-in eval. From 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.

You can also accomplish it with simple variable substitution, as in

#!/bin/bash

test_func() {
  echo "It works!"
}

function_name="test_func"

$function_name


#!/bin/bash
test_func() {
    echo "It works!"
}

function_name="test_func"

eval ${function_name}
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜