从子进程调用bash函数

时间:2010-08-05 06:42:11

标签: bash subprocess

我不确定它是否可行,但我正在寻找一种从其子进程调用bash函数的方法。它可能是这样的:

function testfunc() { echo test function; }
bash -c 'testfunc'

这显然不起作用,但有没有办法实现这样的目标?

非常感谢您的帮助!

1 个答案:

答案 0 :(得分:4)

$ function blargh () {
> echo $1
> }
$ export -f blargh
$ bash
$ blargh hi there
hi
$ exit
$ bash -c "blargh hi there"
hi

export -f是非显而易见的。

$ help export
export: export [-fn] [name[=value] ...] or export -p
    Set export attribute for shell variables.

    Marks each NAME for automatic export to the environment of subsequently
    executed commands.  If VALUE is supplied, assign VALUE before exporting.

    Options:
      -f    refer to shell functions
    ...