多文件 BASH 脚本的最佳实践?

arc*_*ryx 2 bash bash-scripting

我正在做的是这样的:

我想将我的脚本分成多个块。在一个地方定义所有变量的最佳实践是什么?我应该在 init 脚本中将它们全部定义并导出,还是有更好的方法让我的脚本的每一部分都查看一个静态变量文件?也许是 JSON 之类的?这是一个例子

项目/main.sh

#!/bin/bash

new_user="poopmacscoop"
a_list_of_packages="pyhon3 nmap apache2.... others"
some_other_info_for_another_script="important info"

menu () {
    read # blah blah whatcha wanna run?
    # other bits
}   
opts () {
    case ... # a bunch of options
    1) ./src/another_script.sh # one of a bunch of scripts in a separate folder
}
while true
do
   menu
   opts
done
Run Code Online (Sandbox Code Playgroud)

现在在 ./src/another_script.sh 脚本中,为了轻松和跳转能力处理 vars 的最佳方法是什么?(这是一个技术术语)

Ipo*_*cer 6

创建一个只有变量声明的独立文件:

new_user="poopmacscoop"
a_list_of_packages="pyhon3 nmap apache2.... others"
some_other_info_for_another_script="important info"
Run Code Online (Sandbox Code Playgroud)

然后在所有脚本文件的开头包含此文件 source /my/variables