项目背景: 基于公司其他同事的脚本开发了一docker容器化部署的脚本 目前功能是实现了,但是脚本过于臃肿 如下图所示:
充斥着大量的 从外部文件获取值 set 变量值 使用sed 以及搭配 grep 替换的代码
这里优化了一下:
将检查基础配置 安装ntp 和定时任务 以及获取属性值和设置 以及各种sed 和函数封装到了不同的shell脚本中
目前基本可用
source ./common/variable/variables_set.sh
source ./common/function/functions.sh
loopSetVariables "${hcs_all_settings_keys}"
sh ./common/pre-module-set/setLinuxConfig.sh
sh ./common/pre-module-set/installChrony.sh ${app_name}
问题就是
- 在主脚本中调用其他脚本文件 是用 source 还是 直接sh 比较好 有什么区别?
- 我在主脚本里面设置a=1 那么在子脚本中 可以直接 echo $a 显示值吗
我在子脚本b.sh 中set b=1 那么在主脚本中
sh b.sh echo $b
是否可以打印值?