source some_file
some_file:
doit ()
{
echo doit $1
}
export TEST=true
如果我输入some_file,则函数“ doit ”和变量TEST在命令行上可用。但是运行此脚本:
script.sh:
#/bin/sh
echo $TEST
doit test2
将返回TEST的值,但将生成有关未知函数“ doit”的错误。
我也可以“导出”该功能,还是必须在script.sh中提供some_file才能在该处使用该功能?
在Bash中,您可以使用以下命令将函数定义导出到子Shell中:
export -f function_name
例如,您可以尝试以下简单示例:
./script1
:#!/bin/bash
myfun() {
echo "Hello!"
}
export -f myfun
./script2
./script2
:#!/bin/bash
myfun
然后,如果您致电,./script1
您将看到输出Hello!。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句