我有一个shell脚本,它可以执行一些功能,比如生成图像、下载tar文件、导出环境变量、下载图像…n task等等。我对每个任务都有单独的函数。如果源代码是shell脚本,它将开始逐个运行函数。有没有一种方法可以使这些函数在不执行的情况下对shell可用。
获取shell脚本将使该函数对shell可用,但它将开始执行它。
实际代码:
do_task1();
#some logging here
#shell commands
do_task2();
#error checks
#....
# there are lot of such things as well as user defined functions.
由于函数调用,这个文件实际上会开始执行。我希望用户定义的函数单独在shell prompt中可用。
一种方法是使用c风格的编码ie来拥有调用其他函数的主函数。每当我想在没有exec的shell中单独使用函数时,我就可以单独注释主调用。现在我没有主要功能。
function main()
{
do_task1();
#add all the commands and functions here.
do_task2();
}
main # I can comment this.
是否有其他方法(或一些shell命令)单独加载函数?
为什么我需要这个?
它将有助于调试。
如果我想运行这个shell脚本的一些函数,我可以运行它。
最佳答案
大多数shell(如bash和zsh)都支持函数。您可以定义函数并任意调用它们。使用函数定义查找文件不会执行它们。
关于c - 加载shell脚本的功能而不执行它,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18182257/