【linux】 Shell函数返回值

这篇具有很好参考价值的文章主要介绍了【linux】 Shell函数返回值。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

概述

  • 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/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函数返回值文章来源地址https://www.toymoban.com/news/detail-765414.html

到了这里,关于【linux】 Shell函数返回值的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 测牛学堂:2023软件测试linux系统学习之shell脚本的运算符(字符串运算符)

    shell的逻辑运算符 shell 中的逻辑运算符有两个。 表示逻辑且,运算符两边的结果都是true,才会返回true || 表示逻辑或,运算符两边的结果有一个为true,则为true 他们的使用场景和布尔运算的很像,只是写代码的形式不一样。 逻辑运算符两边需要用[[]] 来包裹。 代码示例:逻

    2023年04月25日
    浏览(47)
  • SHELL字符串提取

    Shell 截取字符串通常有两种方式:从指定位置开始截取和从指定字符(子字符串)开始截取。 一、从指定位置开始截取,Shell 同时支持从左和从右两种计数方式 1.从字符串左边开始计数 此方法需要提供位置参数和长度参数,如${string:start:length},string 是要截取的字符串,star

    2024年02月14日
    浏览(29)
  • shell 拼接字符串,出现后面的字符串覆盖前面的字符串问题

    shell 拼接字符串语法很简单两个参数并排前后写上接口,如下 str1=www str2=bbb s t r 1 str1 s t r 1 str2 的结果未 wwwbbb 有时会出现如下问题: 在拼接字符串的时候,后面的字符串将前面的字符串覆盖了。 shell的内容如下: #!/bin/bash date_str=“ date +%Y%m%d ” echo $date_str python_file_name=\\\" 1

    2024年02月09日
    浏览(39)
  • 【shell】字符串截取&替换&分割

    目录 一、字符串输出 二、字符串截取 1.根据下标截取 2.根据指定字符截取 (1)使用 # 截取指定字符右边的所有内容 (2)使用 % 截取指定字符左边的所有内容 三、字符串替换 1.替换一个(从左到右) 2.替换一个(从右到左) 3.替换所有 四、字符串分割 shell字符串可以用

    2024年01月20日
    浏览(35)
  • shell 几种字符串加解密方法

    第一种:〔 Python 与 Bash Shell 的结合 〕 这个命令会让你输入一个字符串,然后会再输出一串加密了的数字。 加密代码[照直输入]: python -c \\\'print reduce(lambda a,b: a*256+ord(b), raw_input(\\\"string: \\\"), 0)\\\' 解密代码[数字后+P]: dc -e 输出的数字P 第二种:〔 应该是纯 Bash Shell,含 VIM 的 xx

    2024年01月18日
    浏览(38)
  • Shell编程学习之字符串的使用

    分析:类似于 C语言 中 strlen函数 ; 使用 \\\"#\\\" 于引用变量值中; 测试案例: 运行结果: 分析:类似于 C语言 中 strcpy函数 ; 实质上,就是一个变量的值赋值到另一个变量; 测试案例: 运行结果: 分析:类似于 C语言 中 strcat函数 ; 注意引用时要加 符号\\\'{}\\\' ; 测试案例: 运

    2024年02月12日
    浏览(28)
  • BASH shell脚本篇3——字符串处理

    这篇文章介绍下BASH shell中的字符串处理的相关命令。之前有介绍过shell的其它命令,请参考: BASH shell脚本篇1——基本命令 BASH shell脚本篇2——条件命令 Bash字符串也是一种数据类型,它用于表示文本而不是数字,它是一组可能还包含数字的字符的组合。如果数字想要表示为

    2024年02月07日
    浏览(41)
  • 盘点Shell脚本8种字符串截取方法

    这篇文章主要介绍了Shell脚本8种字符串截取方法总结,每个方法给出了实例代码和操作结果,一目了然,需要的朋友可以参考下 Linux 的字符串截取很有用。有八种方法。 假设有变量 var=http://www.aaa.com/123.htm. 1. # 号截取,删除左边字符,保留右边字符。 代码如下: echo ${var#*//} 其中

    2024年02月14日
    浏览(36)
  • GaussDB(DWS)字符串处理函数返回错误结果集排查

    摘要: 在使用字符串处理函数时,有时会出现非预期结果的场景。在排除使用问题后,应该从encoding和数据本身开始排查。 本文分享自华为云社区《GaussDB(DWS)字符串处理函数返回错误结果集排查》,作者: -CHEN111- 。 在使用字符串处理函数时,有时会出现非预期结果的场景。

    2024年02月03日
    浏览(31)
  • 【linux】 Shell函数返回值

    return 返回 shell中通过return返回是有限制的, 必须是数字 ,最大返回255,超过255,则从0开始计算。 通常仅返回0或1;0表示成功,1表示失败 。 通过echo 直接返回。 在没有return 语句,函数将以最后一条命令运行结果,作为返回值。因此,通常在 最后一行以echo “xxx”语句 作为

    2024年02月04日
    浏览(20)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包