【linux】 Shell函数返回值
时间:2024-04-21 08:45:27 来源:网络cs 作者:康由 栏目:卖家故事 阅读:
阅读本书更多章节>>>>
shell中通过return返回是有限制的,
在没有return 语句,函数将以最后一条命令运行结果,作为返回值。因此,通常在
如果有多条echo,则以最后一个echo为返回值。
通常用于返回数据,比如一个字符串值或者列表值
概述
return 返回shell中通过return返回是有限制的,
必须是数字
,最大返回255,超过255,则从0开始计算。通常仅返回0或1;0表示成功,1表示失败
。通过echo 直接返回。在没有return 语句,函数将以最后一条命令运行结果,作为返回值。因此,通常在
最后一行以echo “xxx”语句
作为返回值。如果有多条echo,则以最后一个echo为返回值。
通常用于返回数据,比如一个字符串值或者列表值
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/nullif [ $? -eq 0 ];then# return 0,也可以省略0直接return,两个是等价returnelsereturn 1fi}# return在函数中的返回值,只是用来做状态判断的,根据状态值做下一步判断# 函数的返回值为0时,表示nginx服务运行正常输出 && 后字符串,否则返回 ||后字符串is_nginx_running && echo "Nginx is running" || echo "Nginx is stoped" # 运行脚本~ % sh 29.echo_return_nginx.shNginx is stoped~ % sudo nginx # Mac 使用,Linux为 systemctl start nginx ~ % sh 29.echo_return_nginx.shNginx 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=1for user in $user_listdoecho "This $index user is : $user"index=$(($index+1))done # 运行脚本~ % sh 30.echo_sys_user.shThis 1 user is : nobodyThis 2 user is : root... ...This 109 user is : oahd
参考
Shell函数返回值
阅读本书更多章节>>>>本文链接:https://www.kjpai.cn/gushi/2024-04-21/160849.html,文章来源:网络cs,作者:康由,版权归作者所有,如需转载请注明来源和作者,否则将追究法律责任!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
下一篇:返回列表