如何在子脚本中调用bash函数?

时间:2018-01-10 18:06:12

标签: bash function

考虑一下脚本:

#!/bin/bash

fun() {
  echo "hello $1"
}

echo "fun world" | parallel

现在,fun回显的脚本中没有echo函数。

有没有办法让它可用/出口呢?

修改:请参阅GNU parallel

1 个答案:

答案 0 :(得分:1)

您的函数名称在引号内,正确的语法是:

echo $(fun world) | parallel

echo(&#34; hello world&#34;)的输出将通过管道传递给parallel,因此它可以用来做它。< / p>

编辑:

我可能误会了。如果您想要一个名为parallel的脚本来执行该功能,那么就会出现一些问题。如果bash那么您需要将其导出为@CharlesDuffy说:

export -f fun

但要注意并非所有shell都支持导出的函数,因此请确保parallelbash脚本。