欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Linux shell 如何创建函数库文件

程序员文章站 2022-06-29 13:03:04
...

前言

使用函数可以在脚本中省去一些工作时间,这一点是显然易见的。但如果你碰巧要在多个脚本中使用同一段代码呢?

显然,为了使用一次而在每个脚本中都定义同样的函数太麻烦了。为了解决这个问题,!bash shell允许创建函数库文件。 接下来就自定义创建自己的函数库文件,然后在多个脚本中引用该库文件。

创建函数库文件
这个过程的第一步是创建一个包含脚本中所需的函数的公用库文件。在这里创建一个函数库文件myfuncs.sh

myfuncs.sh

#!/bin/bash

#my script functions

function addem
{
   echo $[ $1 + $2 ]
}

function multem
{
  echo $[ $1 * $2 ]
}

function divem
{
  if [ $2 -ne 0 ]
  then
     echo $[ $1 / $2 ] 
  else
     echo -1 
  fi
}

下一步就是在用到这些函数的脚本文件中包含myfuncs.sh库文件。现在有个问题是shell函数的作用域上。和环境变量一样,shell函数仅在定义它的shell会话内有效。如果你尝试像普通脚本文件那样运行库文件,函数并不会出现在现在的脚本中。

#!/bin/bash

./myfuncs.sh

result=$(addem 5 10)
echo "The reslut is $result"

输出结果:

Linux shell 如何创建函数库文件

那如果解决呢 ?
要在shell脚本中运行myfuncs库文件,只需要添加下面的这一行:

 . ./myfuncs.sh

这个例子中,我是把myfuncs.sh和test13.sh脚本位于同一目录。如果不是,你需要使用相应的路径访问该文件。

#!/bin/bash

 . ./myfuncs.sh

result=$(addem 10 15)
echo "The reslut is $result"

输出结果:
Linux shell 如何创建函数库文件
该脚本成功地使用了myfuncs库文件中定义的函数。

参考:Linux命令行与shell脚本编程大全