bash 中不同脚本的不同功能

Different functions from different scripts in bash

我想制作一个从不同脚本调用函数的脚本,但是一旦我调用了另一个脚本,每个内部函数都无法识别它。

我不知道如何继续下去。我试图删除调用,但是一旦我删除了对另一个脚本的调用,显然,这些函数就不起作用了。

#!/bin/bash

. generalFunct
is_stora_mounted="true"
counter=0
user1000=$(cut -d: -f1,3 /etc/passwd | egrep ':[0-9]{4}$' | cut -d: -f1)

doCheckSudo
doDisableCdrom
doCheckOS
doAddProgramSources
doInstallOtherDependency
doAddSources
doAddAnsibleSources
doInstallPrinter
doInstallSenior

doAddAnsibleSources() {
    bla bla bla bla
}



doInstallSenior() {

    bla bla bla bla bla bla

}
doInstallVPN
doUpgradeAndUpdate
doInstallWifiDriver
doAddCertificates
doDownloadDockerImages

[BLA BLA BLA IT'S TO KEEP THE PRIVACY ON MY WORKPLACE]

doAddAnsibleSources 和 doInstallSenior 是内部函数。

本来想工作的,结果说找不到订单(参考函数名)

问题是函数是在调用它们之后定义的。将它们移到脚本顶部,然后重试。

doAddAnsibleSources() {
 ...
}

doAddAnsibleSources

而不是:

doAddAnsibleSources

doAddAnsibleSources() {
 ...
}

这是必需的,因为 bash 是解释环境,不做任何预处理,只是逐行执行。当以这种方式读取文件时,它会尝试执行它还没有看到的函数。