在Shell中使用函数文件
需要编写一个较庞大的脚本时,可能会涉及许多函数、变量。这是通常建议将众多的函数、变量放入一个单独的脚本内。这样做的好处很明显,不用担心某个函数、变量是否已经被定义和使用,也不用频繁地定义、清除函数和变量。
一、函数文件的编写
函数文件的格式和脚本文件一样。
[root@localhost shell]# cat function.example
#函数文件中也可以不写下面这行Shell调用语句
#!/bin/bash #function example.
#This is a function definition script.
#2013/12/17 hello()
{
echo "Now is the function hello."
echo "Hello! $1."
return
} function hi()
{
echo "Now si the function hi."
echo "Hi! $1."
return
}
二、函数文件的调用
要调用已经编写好的函数文件,可以像定制工作环境那样,将函数文件包含在脚本文件中,然后直接进行调用。
(1)下面引入调用函数文件的示例脚本call_func_file.sh。在这个脚本中使用执行的方式调用函数文件,然后再直接调用函数文件中的函数。
[root@localhost shell]# cat call_func_file.sh
#!/bin/bash #This is a example script.
#2013/12/17 #function.example
. ./function.example #call function hell
echo "Now call the function hello."
hello Jhon #call function hi
echo "Now call the function hi."
hi Alix
从上面的示例文件中可以看出,调用函数文件的格式为:
. ./function.example
使用这种方式调用函数文件时,函数文件的路径应该与脚本文件的路径相同,否则在调用时应该使用函数文件的绝对路径或相对路径。
执行示例脚本:
[root@localhost shell]# ./call_func_file.sh
Now call the function hello.
Now is the function hello.
Hello! Jhon.
Now call the function hi.
Now is the function hi.
Hi! Alix.
(2)除了上面介绍的调用方式外,函数文件也可以像变量一样在命令提示符下使用。在命令提示符中调用函数文件后,就可以直接调用函数。
在命令提示符中调用函数文件:
[root@localhost shell]# . ./function.example
[root@localhost shell]# hi Alix
Now is the function hi.
Hi! Alix.
[root@localhost shell]# hello Alix
Now is the function hello.
Hello! Alix.
用户也可以使用上面的方法,将函数文件写入用户的环境变量配置文件中,然后像使用命令一样调用自定义的函数,以实现较复杂的功能。
在Shell中使用函数文件的更多相关文章
- centos shell脚本编程2 if 判断 case判断 shell脚本中的循环 for while shell中的函数 break continue test 命令 第三十六节课
centos shell脚本编程2 if 判断 case判断 shell脚本中的循环 for while shell中的函数 break continue test 命令 ...
- shell中的函数、shell中的数组、告警系统需求分析
7月16日任务 20.16/20.17 shell中的函数20.18 shell中的数组20.19 告警系统需求分析 20.16/20.17 shell中的函数 函数就是一个子shell就是一个代码段 ...
- Linux centosVMware shell中的函数、shell中的数组、
一.shell中的函数 函数就是把一段代码整理到了一个小单元中,并给这个小单元起一个名字,当用到这段代码时直接调用这个小单元的名字即可. 格式: function _name() { command ...
- shell中的函数、数组、报警系统脚本
1.shell中的函数 函数就是把一段代码整理到了一个小单元中,并给这个小单元起一个名字,当用到这段代码时直接调用这 个小单元的名字即可.格式: function f_name() {commond} ...
- 小苏的Shell编程笔记之六--Shell中的函数
http://xiaosu.blog.51cto.com/2914416/531247 Shell函数类似于Shell脚本,里面存放了一系列的指令,不过Shell的函数存在于内存,而不是硬盘文件,所以 ...
- Shell中的函数
一.在脚本中定义函数 与变量一样,在使用函数之前应该对函数进行定义.与其他编程类语言相比,由于没有数据类型的概念,因此也不必定义函数的类型. (1)在脚本中可以使用以下方式定义函数: function ...
- shell中使用函数
函数定义.调用 $ cat te.sh #!/bin/bash # define a function test() { echo "This is a function." } ...
- shell中的函数、数组
函数定义: 数组:
- shell中的函数 shell中的数组 告警系统需求分析
随机推荐
- Yii 1 数据库操作 笔记
$result = array( 'id'=>null, 'val'=>0 ); $row1 = Yii::app()->db->createCommand()->ins ...
- EasyUI DataGrid 窗口大小自适用--------------未测试
EasyUI 新版本里添加了 fit 属性,不需要老版本的那么复杂,重新load DataGrid.但是昨天用的时间发现只有一个DataGrid的时候用fit:true 很好使,但是如果有其它元素,如 ...
- 第二百一十八天 how can I 坚持
真的是自以为是吗?或许是我想太多. 今天下雪了,2015年入冬以来的第一场雪,好冷. 又是一周. 睡觉吧,明天老贾生日. 没啥了,中午有点肚子疼,冬天了要注意.
- JVM系列一:JVM内存组成及分配
java内存组成介绍:堆(Heap)和非堆(Non-heap)内存 按照官方的说法:“Java 虚拟机具有一个堆,堆是运行时数据区域,所有类实例和数组的内存均从此处分配.堆是在 Java 虚拟机启动时 ...
- JAVA大数运算
java大数是个好东西,用起来方便,代码短. 代码如下: import java.util.*; import java.math.*; public class Main { public stat ...
- 在完成端口中使用GetAcceptExSockaddrs
MSDN:When using AcceptEx, the GetAcceptExSockaddrs function must be called to parse the buffer into ...
- hdu 2881 Jack's struggle(DP)
对于所有的任务所在的地点按照时间排序,可以将其看成是一道非常简单的“天上掉馅饼”的题的二维版本. 将这些任务看成从天而降的馅饼,统计有哪些之前馅饼掉落的位置可以在两者时间差内到达该点的点,取其最大值. ...
- installshield Basic 工程每次安装完提示重启电脑
将Sequence中的ScheduleReboot Action的Condition清空即可.
- android 动画NineOldAndroid
NineOldAndroid 1.之前我们用到的第动画是frame和tween动画也就是帧动画,补间动画现在多了一种动画,它包含完了前面动画的所有状态. 属性动画(Property Anmation) ...
- js中的call及apply
http://www.zhihu.com/question/20289071 func1.call(this, arg1, arg2); 或者 func1.apply(this, [arg1, arg ...