如何将大型shell脚本拆分或组织为小型脚本,并在主scirpt中调用它?

如何将大型shell脚本拆分或组织为小型脚本,并在主scirpt中调用它?,shell,Shell,我正在编写一个500行的shell脚本,有没有想过把它分解成更小的模块,或者可以在main.sh文件中调用的可重用shell脚本? 我正在寻找代码的可维护性和可重用性 当我试图在first.sh和second.sh等中调用breakdown main.sh时 在哪里 first.sh FOO=fobar function hello(){ echo "hellow } 运行时无法访问变量和方法。/main.sh 输出 第20行:您好:命令未找到> P>鉴

我正在编写一个500行的shell脚本,有没有想过把它分解成更小的模块,或者可以在main.sh文件中调用的可重用shell脚本? 我正在寻找代码的可维护性和可重用性

当我试图在first.sh和second.sh等中调用breakdown main.sh时

在哪里

    first.sh
    FOO=fobar
    function hello(){
    echo "hellow
    }
运行时无法访问变量和方法。/main.sh 输出
<代码>第20行:您好:命令未找到

> P>鉴于您已经有许多功能,考虑将这些函数移到单独的文件(通常是‘.SH’后缀)中,因此创建可以成为您脚本(或其他脚本)的源的库。

理想情况下,库将只有函数定义和变量初始化。如果需要并且可能,您可以创建多个库,将相关函数分组在一起

我的剧本

source myscript-lib.sh

  # Call functions from library
hello
myscript-lib.sh

function hello {
   echo "Hello"
}
注1:“源…”将使用PATH查找没有完整路径名的脚本。从对
first.sh
的问题引用来看,这似乎与当前代码一致,路径中可能有


注2:“源代码”可以替换为“.”,但根据我的经验,这将创建可读性较差的代码
。myscript lib.sh

非常感谢,这很有帮助,我将根据您的指导/示例开始大规模重构我的代码。
function hello {
   echo "Hello"
}