如何在Shell脚本中使用函数


Posted in 面试题 onSeptember 06, 2015
#!/bin/sh
hello()
{
echo “Hello there today ‘s date is `date`”
}
echo “now going to the function hello ”
hello
echo “back from the function ”

运行脚本func1,结果为:
$func1
now going to the function hello
Hello there today ‘s date is Fri Jul 22 09:05:37 BEIJING 2005
Back from the function

上面例子中,函数定义于脚本顶部。可以在脚本中使用函数名hello调用它。函数执行后,控制返回函数调用的下一条语句,即反馈语句back from the function。

从调用函数中返回
当函数完成处理或希望函数基于某一测试语句返回时,可做两种处理:
1) 让函数正常执行到函数末尾,然后返回脚本中调用函数的控制部分。
2) 使用return返回脚本中函数调用的下一条语句,可以带返回值。0为无错误,1为有错误。

函数返回值测试
可以直接在脚本调用函数语句的后面使用最后状态命令来测试函数调用的返回值。例如:
check_it_is_a_directory $FILENAME
if [$? = 0]
then
echo “All is OK”
else
echo “Something went wrong!”
fi

Tags in this post...

面试题 相关文章推荐
一个C/C++编程面试题
Nov 10 面试题
华为慧通面试题
Sep 11 面试题
2019史上最全Database工程师题库
Dec 06 面试题
什么叫应用程序域?什么是托管代码?什么是强类型系统?什么是装箱和拆箱?什么是重载?CTS、CLS和CLR分别作何解释?
May 23 面试题
华三通信H3C面试题
May 15 面试题
C#如何进行LDAP用户校验
Nov 21 面试题
const和static readonly区别
May 20 面试题
优纳科技软件测试面试题
May 15 面试题
Ajax的优点和缺点
Nov 21 面试题
几个MySql的面试题
Apr 22 面试题
Boolean b = new Boolean(“abcde”); 会编译错误码
Nov 27 面试题
J2EE面试题大全
Aug 06 面试题
Unix控制后台进程都有哪些进程
Sep 22 #面试题
Shell脚本如何向终端输出信息
Apr 25 #面试题
shell变量的作用空间是什么
Aug 17 #面试题
shell程序如何生命变量?shell变量是弱变量吗?
Nov 10 #面试题
UNIX操作系统结构由哪几部分组成
Feb 17 #面试题
UNIX文件系统常用命令
May 25 #面试题
如何执行一个shell程序
Nov 23 #面试题
You might like
PHP仿盗链代码
2012/06/03 PHP
PHP+Ajax实现无刷新分页实例详解(附demo源码下载)
2016/04/07 PHP
CI框架封装的常用图像处理方法(缩略图,水印,旋转,上传等)
2016/11/22 PHP
thinkphp框架page类与bootstrap分页(美化)
2017/06/25 PHP
jQuery 工具函数学习资料
2010/04/29 Javascript
js的image onload事件使用遇到的问题
2014/07/15 Javascript
让html页面不缓存js的实现方法
2014/10/31 Javascript
node.js中的buffer.Buffer.isBuffer方法使用说明
2014/12/14 Javascript
jQuery+css3实现文字跟随鼠标的上下抖动
2015/07/31 Javascript
jquery+css3实现网页背景花瓣随机飘落特效
2015/08/17 Javascript
Js操作DOM元素及获取浏览器高宽的简单方法
2016/09/08 Javascript
jQuery插件zTree实现的基本树与节点获取操作示例
2017/03/08 Javascript
基于vuejs实现一个todolist项目
2017/04/11 Javascript
JavaScript数据结构之数组的表示方法示例
2017/04/12 Javascript
vue 解决循环引用组件报错的问题
2018/09/06 Javascript
Vue的路由及路由钩子函数的实现
2019/07/02 Javascript
前端插件之Bootstrap Dual Listbox使用教程
2019/07/23 Javascript
Javascript Web Worker使用过程解析
2020/03/16 Javascript
vue 数据操作相关总结
2020/12/17 Vue.js
python删除特定文件的方法
2015/07/30 Python
Numpy之文件存取的示例代码
2018/08/03 Python
Python实现的KMeans聚类算法实例分析
2018/12/29 Python
Python字符串匹配之6种方法的使用详解
2019/04/08 Python
Python scrapy爬取小说代码案例详解
2020/07/09 Python
Python实现迪杰斯特拉算法过程解析
2020/09/18 Python
基于html5 canvas实现漫天飞雪效果实例
2014/09/10 HTML / CSS
学校安全生产承诺书
2014/05/23 职场文书
应届硕士毕业生自荐信
2014/05/26 职场文书
十佳青年事迹材料
2014/08/21 职场文书
实习单位证明范例
2014/11/17 职场文书
2014年政工师工作总结
2014/12/18 职场文书
学校党风廉政建设调研报告
2015/01/01 职场文书
学生犯错保证书
2015/05/09 职场文书
为什么在foreach循环中JAVA集合不能添加或删除元素
2021/06/11 Java/Android
nodejs利用readline提示输入内容实例代码
2021/07/15 NodeJs
配置Kubernetes外网访问集群
2022/03/31 Servers