嗨,我是SHELL脚本的新手.实际上我err()在文件中有一个函数,文件abc没有.sh扩展名,但它们是简单的文件但是从开始#!/bin/bash
err () {
echo "${1}" >&2
}
Run Code Online (Sandbox Code Playgroud)
现在我将其导入到另一个文件中 xyz
source abc
someFunction(){
err "Failed to back up"
}
Run Code Online (Sandbox Code Playgroud)
这是一种正确的进口方式吗?
没关系,这里还有一些提示:
使用函数的命名约定,例如在函数名称前添加 前缀f_,例如f_err。函数调用看起来与其他命令没有什么不同,这是对读者的一个提示。它还减少了名称冲突的机会。
您只需要读取访问权限,并且不需要#!/bin/bash(它只是一个注释)。
在 Bash 中,在函数解析之前必须设置一些选项。例如,shopt -s extglob如果使用扩展通配符,则必须在函数之前和外部完成。将其放入函数内为时已晚。
Bash 不支持 FPATH 环境变量或自动加载(与 Korn shell 不同)。