Shell之函数-yellowcong
来源:互联网 发布:sql case语句 编辑:程序博客网 时间:2024/05/20 13:08
不带返回值的函数,带返回值的函数,还有read函数等。
在函数中,参数返回,可以显示加:return 返回,如果不加,将以最后一条命令运行结果,作为返回值。 返回值,只能是0-255的数字,不能是字符串,淡腾啊。。。。。。。。。。
案例1 -默认返回值的函数
这个就是简单的函数调用,没有任何返回值的函数
#创建并赋予执行权限touch fun.sh && chmod +x $_
代码
#!/bin/bash#定义test函数test(){ echo "hello" $1}#判断数据是否为空,如果为空,就打印一句话,否则就去调用test函数if [ "$1" == "" ]then echo "没有数据"else test $1fi
运行结果
案例2-read函数
这个案例里面,使用到了read这个函数,这个函数有换行(read
),不换行(read -p
)两种
#!/bin/bashtest(){ echo "hello" $1 echo "参数个数" $# echo "所有参数" $*}if [ "$1" == "" ]then echo "没有数据" echo "请输入名称" #doc 输入带换行的操作 read name #输入但是不换行 read -p "输入你的年龄" age echo 你今年$age岁 #测试 test $nameelse test $1fi#退出程序exit 0
执行结果,表上红色框的,就是执行起来不换行的read操作
案例3-带返回值的函数
对,它几乎就是return和echo不一样,但是有一点一定要注意,不能向标准输出一些不是结果的东西(也就是说,不能随便echo一些不需要的信息),比如调试信息,这些信息可以重定向到一个文件中解决,特别要注意的是,脚本中用到其它类似grep这样的命令的时候,一定要记得1>/dev/null 2>&1来空这些输出信息输出到空设备,避免这些命令的输出。
linux中直接返回的数据是0-255,因为exit或者main函数中的return, 只能使用0~255之间的值. -1 的unsigned值就是255
#!/bin/bash#autor yellowcong#email 717350389@qq.com#定义一个getName函数getName(){ #对数据进行判断 if [ "$1" == "yellowcong" ] then return 1 else return 2 fi}getName $1echo "结果"$?
执行结果
案例4 -字符串返回
通过echo的方式来获取返回值,而不是直接的通过返回来获取
#!/bin/bash#autor yellowcong#email 717350389@qq.com#定义一个getName函数getName(){ #对数据进行判断 if [ "$1" == "yellowcong" ] then echo "你是yellowcong大哥" else echo "你是谁,鸟毛" fi}result=$(getName $1)echo "结果"$result
测试结果
阅读全文
0 0
- Shell之函数-yellowcong
- Shell之遍历数组-yellowcong
- Shell之Sed命令-yellowcong
- Shell之判断程序是否运行-yellowcong
- Java之Enum类中的ordinal函数-yellowcong
- CentOS之iptables-yellowcong
- Hadoop之namenode-yellowcong
- Jetty之Debug-yellowcong
- GitLab之安装-yellowcong
- Kubernate之安装-yellowcong
- SpringMvc之国际化-yellowcong
- Maven之OutOfMemoryError-yellowcong
- Oracle常用计算函数-yellowcong
- Linux Shell编程case语句-yellowcong
- Shell实战之一键搭建FastDFs-yellowcong
- Shell编程之 函数
- shell 编程之函数
- linux shell 之函数
- Android集成微信支付SDK
- Java排序之【快速排序】
- POJ 2528:Mayor's posters(线段树区间更新+离散化)
- Collections工具类
- Android集成Paypal
- Shell之函数-yellowcong
- u-boot-nand.lds分析
- db2 表空间backup pending
- 归纳法浅析
- 硬编码与软编码
- K-means聚类算法原理分析与实际应用案例分析(案例分析另起一篇博客)
- 十一月二日课后作业(课程表)
- maven聚合与继承
- 命令执行漏洞总结