导入外壳脚本函数



我在文件abcerr()了一个函数。这些文件没有.sh扩展名,但它们以 #!/bin/bash 开头。

err () {
    echo "${1}" >&2 
}

现在我将其导入到不同的文件中xyz

source abc
someFunction(){ 
    err "Failed to back up"
}

这是正确的进口方式吗?

是的,你可以像上面提到的那样做,或者像:. FILENAME

文件不需要以 .sh 结尾

没关系,这里有一些提示:

  1. 对函数使用命名约定,例如在函数名称前面加上 f_ ,例如 f_err 。 函数调用与其他命令没有什么不同,这是对读者的提示。 它还减少了名称冲突的机会。

  2. 您只需要读取访问权限,并且不需要#!/bin/bash(它只是一个注释)。

  3. 在 Bash 中,必须在函数解析之前设置一些选项。 例如,如果使用扩展通配,则必须在函数之前和外部完成shopt -s extglob。 将其放入函数中为时已晚。

  4. Bash 不支持 FPATH 环境变量或自动加载(如 Korn shell 所做的)。

您需要导出新创建的函数

abc末尾添加以下内容:

export -f err

相关内容

  • 没有找到相关文章

最新更新