Bash 如何在两个shell脚本之间调用函数?

Bash 如何在两个shell脚本之间调用函数?,bash,shell,Bash,Shell,我有一些函数可以在shell脚本(logger.sh)中logInfo()/logError()。还有其他shell脚本(例如:createuser.sh)需要日志记录。如何从createuser.sh调用logInfo()等函数 如果没有函数调用,这些logInfo/logError函数将被复制到每个需要日志记录的shell脚本中。如果logger.sh脚本中只有函数(即:nothing runs),则您可以从命令行执行它,然后通过包括以下行来获取shell脚本的源代码: .logger.sh

我有一些函数可以在shell脚本(logger.sh)中
logInfo()/logError()
。还有其他shell脚本(例如:createuser.sh)需要日志记录。如何从createuser.sh调用logInfo()等函数


如果没有函数调用,这些logInfo/logError函数将被复制到每个需要日志记录的shell脚本中。

如果logger.sh脚本中只有函数(即:nothing runs),则您可以从命令行执行它,然后通过包括以下行来获取shell脚本的源代码:

.logger.sh


请参阅:

如果logger.sh脚本中只有函数(即:nothing runs)在您从命令行执行它之前,您可以通过包含以下行来获取shell脚本的源代码:

.logger.sh


请参阅:

将记录器函数放在单独的文件中(仅包含函数,不包含命令),例如myfuncs.sh。然后在需要这些函数的任何其他脚本中,在该脚本顶部附近添加一行:

. myfuncs.sh
或者,相当于:

source myfuncs.sh

myfuncs.sh中的函数将在该脚本中可用。

将记录器函数放在一个单独的文件中(仅包含函数,不包含命令),比如myfuncs.sh。然后在需要这些函数的任何其他脚本中,在该脚本顶部附近添加一行:

. myfuncs.sh
或者,相当于:

source myfuncs.sh

myfuncs.sh中的函数将在该脚本中可用。

我相信您可以添加
源文件\u name.sh
以将函数包含在另一个脚本中。请注意,在shell库上使用扩展名是合适的,例如您正在寻找的文件。shell脚本的扩展名不应超过任何其他可执行文件oes——您不运行
ls.c
ls.elf
,只运行
ls
;类似地,当您安装像
pip
这样的Python程序时,即使它使用的模块以
.py
结尾,入口点本身也只是
pip
,没有扩展。另请参见@CharlesDuffy-shell脚本是否应该使用(将从shell库调用函数)有函数还是shell脚本应该只有命令?一般/标准惯例是什么?我相信您可以添加
源文件\u name.sh
以将函数包含在另一个脚本中。请注意,在shell库上使用扩展名是合适的,例如您正在寻找的文件。shell脚本不应该有扩展名m与任何其他可执行文件相比,您不运行
ls.c
ls.elf
,只运行
ls
;类似地,当您安装像
pip
这样的Python程序时,即使它使用的模块以
.py
结尾,入口点本身也只是
pip
,没有扩展。另请参见@CharlesDuffy-shouldshell脚本(将从shell库调用函数)有函数还是shell脚本应该只有命令?一般/标准约定是什么?
.sh
如果它们是为在任何POSIX兼容的shell上运行而开发的,
.bash
如果它们只能由bash使用,
.ksh
如果它们只能由ksh使用,等等。命名约定在这里很重要。
.sh
如果它们是e开发用于在任何兼容POSIX的shell上运行,
.bash
如果它们只能由bash使用,
.ksh
如果它们只能由ksh使用,等等。命名约定在这里很重要。