Shell函数返回值方式
更新时间:2022年08月04日 11:14:10 作者:AllardZhao
本文主要介绍了Shell函数返回值方式,主要介绍了两种返回方式,分别介绍了场景的使用和区别,具有一定的参考价值,感兴趣的可以了解一下
1、返回值的方式:
- 方法一:return
- 方法二: echo
2、return和echo使用场景区别:
(1).使用return返回值:
- 使用return返回值,只能返回1-255的整数
- 函数使用return返回值,通常只是用来供其他地方调用获取状态,因此通常仅返回0或1;0表示成功,1表示失败
(2).使用echo返回值:
- 使用echo可以返回任何字符串结果
- 通常用于返回数据,比如一个字符串值或者列表值
3、场景示例
(一) return使用场景
函数通过return返回一个整数,这种场景通常是用来做判断的,也就是说在执行完函数之后,需要根据它的返回值做判断,通0表示成功,非0都是表示失败。
#!/bin/bash this_pid=$$ # 判断nginx进程是否正在运行 function is_nginx_running { ps -ef | grep nginx | grep -v grep | grep -v $this_pid &>/tmp/null if [ $? -eq 0 ];then # return 0,也可以省略0直接return,两个是等价 return else return 1 fi } # return在函数中的返回值,只是用来做状态判断的,根据状态值做下一步判断 # 函数的返回值为0时,表示nginx服务运行正常输出 && 后字符串,否则返回 ||后字符串 is_nginx_running && echo "Nginx is running" || echo "Nginx is stoped" # 运行脚本 ~ % sh 29.echo_return_nginx.sh Nginx is stoped ~ % sudo nginx # Mac 使用,Linux为 systemctl start nginx ~ % sh 29.echo_return_nginx.sh Nginx is running
(二) echo使用场景
函数通过echo返回值,通常是返回数据用的,以供程序的其它地方使用。
#!/bin/bash # 获取整个Linux系统上所拥有的所有用户 function get_users { # users=`cat /etc/passwd | cut -d: -f1` # linux使用 # Mac 使用 users=`cat /etc/passwd | tail -n+11 | cut -d: -f1 | cut -d_ -f2` echo $users } # 执行该函数,返回值为用户列表 # get_users # 遍历用户列表对用户名做处理 user_list=`get_users` index=1 for user in $user_list do echo "This $index user is : $user" index=$(($index+1)) done # 运行脚本 ~ % sh 30.echo_sys_user.sh This 1 user is : nobody This 2 user is : root ... ... This 109 user is : oahd
到此这篇关于Shell函数返回值方式的文章就介绍到这了,更多相关Shell函数返回值内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
shell的条件测试,变量测试,表达式中的0和1,数值判断,字符串判断
本文主要介绍了shell的条件测试,变量测试,表达式中的0和1,数值判断,字符串判断,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2024-01-01一天一个shell命令 linux文件操作系列-ln命令详解
这篇文章主要介绍了一天一个shell命令 linux文件操作系列-ln命令详解 ,需要的朋友可以参考下2016-06-06详解 linux mysqldump 导出数据库、数据、表结构
这篇文章主要介绍了详解 linux mysqldump 导出数据库、数据、表结构的相关资料,需要的朋友可以参考下2017-05-05linux shell在while中用read从键盘输入的实现
下面小编就为大家带来一篇linux shell在while中用read从键盘输入的实现。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧2017-01-01
最新评论