我有一个用bash编写的非常大的shell脚本,我想将一些函数外包给一个额外的文件,因为我在其他一些脚本中也有相同的函数。
所以我可以外包它们,修复/改进它们一次,然后在多个主脚本中重用它们。
我是否可以将这些函数从当前的大脚本“复制并粘贴”到单个较小的脚本中,然后使用source functions_versionCheck.sh将它们包含在大脚本中
发布于 2016-09-14 01:21:00
是的绝对是。我从事大型shell脚本自动化框架的工作,它基于同样的想法。这里有一个基本的例子:
AllFn.sh :
function echoBold(){
echo "******************************************"
echo "$1"
echo "******************************************"
}
myscript.sh :
source AllFn.sh
echoBold "This is a bold message"您只需使AllFn.sh脚本尽可能通用,并使其从某个属性文件中读取属性,这样您就可以为您传递的特定参数定制通用函数。例如:
properties.txt:
test1_host=hostname1
test2_host=hostname2
AllFn.sh :
propfile=/home/$USER/properties.txt
function printHost(){
hostname=`grep ${1}_host $propfile | cut -d'=' -f2`
echo $hostname
}
myscript.sh :
source AllFn.sh
printHost test1
printHost test2https://stackoverflow.com/questions/39475502
复制相似问题