如何在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...

面试题 相关文章推荐
使用useBean标志初始化BEAN时如何接受初始化参数
Feb 11 面试题
一套VC试题
Jan 23 面试题
请解释virtual关键字的含义
Jun 17 面试题
介绍一下.NET构架下remoting和webservice
May 08 面试题
C#笔试题
Jul 14 面试题
Linux管理员面试经常问道的相关命令
Dec 12 面试题
软件工程师面试题
Jun 25 面试题
中间件分为哪几类
Mar 14 面试题
Prototype如何实现页面局部定时刷新
Aug 06 面试题
Java如何支持I18N?
Oct 31 面试题
什么是ESB?请介绍一下ESB?
May 27 面试题
Java面试题冲刺第十五天--设计模式
Aug 07 面试题
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防注入,表单提交值转义的实现详解
2013/06/10 PHP
在Laravel中实现使用AJAX动态刷新部分页面
2019/10/15 PHP
Laravel手动返回错误码示例
2019/10/22 PHP
jQuery效果 slideToggle() 方法(在隐藏和显示之间切换)
2011/06/28 Javascript
JavaScript 学习笔记之变量及其作用域
2015/01/14 Javascript
浅谈JSON中stringify 函数、toJosn函数和parse函数
2015/01/26 Javascript
javascript中attachEvent用法实例分析
2015/05/14 Javascript
详解vue-router 2.0 常用基础知识点之导航钩子
2017/05/10 Javascript
React Native之ListView实现九宫格效果的示例
2017/08/02 Javascript
利用JS制作万年历的方法
2017/08/16 Javascript
详解React 在服务端渲染的实现
2017/11/16 Javascript
详解vue mixins和extends的巧妙用法
2017/12/20 Javascript
Vue项目使用CDN优化首屏加载问题
2018/04/01 Javascript
ES6使用export和import实现模块化的方法
2018/09/10 Javascript
JS高阶函数原理与用法实例分析
2019/01/15 Javascript
jquery实现二级导航下拉菜单效果实例
2019/05/14 jQuery
微信小程序如何实现点击图片放大功能
2020/01/21 Javascript
JavaScript实现打砖块游戏
2020/02/25 Javascript
[03:56]显微镜下的DOTA2第十一期——鬼畜的死亡先知播音员
2014/06/23 DOTA
[01:59][TI9趣味视频] 全明星赛奖励
2019/08/23 DOTA
python基础教程之缩进介绍
2014/08/29 Python
python处理PHP数组文本文件实例
2014/09/18 Python
Python中利用函数装饰器实现备忘功能
2015/03/30 Python
python粘包问题及socket套接字编程详解
2019/06/29 Python
python调试神器PySnooper的使用
2019/07/03 Python
python3实现二叉树的遍历与递归算法解析(小结)
2019/07/03 Python
Python学习笔记之For循环用法详解
2019/08/14 Python
Python爬取豆瓣视频信息代码实例
2019/11/16 Python
vscode+PyQt5安装详解步骤
2020/08/12 Python
详解Django ORM引发的数据库N+1性能问题
2020/10/12 Python
CSS3的column-fill属性对齐列内容高度的用法详解
2016/07/01 HTML / CSS
家庭教育先进个人事迹材料
2014/01/24 职场文书
社会实践感言
2014/01/25 职场文书
基督教婚礼主持词
2014/03/14 职场文书
投资意向书
2014/07/30 职场文书
redis通过6379端口无法连接服务器(redis-server.exe闪退)
2021/05/08 Redis