当前位置: 首页 > news >正文

泰安网站建设538sw竞价销售是什么意思

泰安网站建设538sw,竞价销售是什么意思,住小帮室内装修图片大全,制作网站的软件手机版文章目录 一、函数的定义1.1 shell函数:1.2函数如何定义 二、函数的返回值三、函数的传参四、函数变量的作用范围五、函数的递归六、函数库 一、函数的定义 1.1 shell函数: 使用函数可以避免代码重复使用函数可以将大的工程分割为若干小的功能模块,代码的可读性更…

文章目录

  • 一、函数的定义
    • 1.1 shell函数:
    • 1.2函数如何定义
  • 二、函数的返回值
  • 三、函数的传参
  • 四、函数变量的作用范围
  • 五、函数的递归
  • 六、函数库

一、函数的定义

1.1 shell函数:

  • 使用函数可以避免代码重复
  • 使用函数可以将大的工程分割为若干小的功能模块,代码的可读性更强

1.2函数如何定义

法一:
[function] 函数名 (){命令序列[return x]              
}法二:
函数名(){命令序列
}

二、函数的返回值

1、在函数内用return退出函数并返回函数的值,在函数外用echo $?获取返回值,注:返回值的范围只能在0~255,超过部分需除以256取余

编写一个脚本查看他的返回数
在这里插入图片描述

执行脚本

在这里插入图片描述
可以看出$?的返回值是有上限的,返回值的范围只能在0~255,超过部分需除以256取余

2、在函数内用echo输出值,在函数体外可用变量=$(函数名)获取函数的返回值

编写一个脚本

在这里插入图片描述

执行脚本

在这里插入图片描述

可以看出相较于$?没有取值的范围。

三、函数的传参

在Shell中,调用函数时可以向其传递参数。在函数体内部,通过 $n 的形式来获取参数的值,例如,$1表示第一个参数,$2表示第二个参数…即使用位置参数来实现参数传递。

示例:

在这里插入图片描述

结果:

在这里插入图片描述

示例:

在这里插入图片描述

结果:

在这里插入图片描述

在这里插入图片描述

函数体内部的$1 $2代表的是调用函数时,函数后面跟的位置参数
函数体外的$1 $2代表的是执行脚本时,脚本后面跟的位置参数

在这里插入图片描述

在函数体内部的$#代表调用函数时,函数后面跟的参数个数
在函数体内部的$@ $*代表调用函数时,函数后面跟的所有参数
在函数体外时,$#代表脚本后面跟的参数个数
在函数体外时,$@ $*代表脚本后面跟的所有参数

四、函数变量的作用范围

1、函数在Shell脚本中仅在当前脚本Shell环境中有效(使用source/. 执行脚本,也会影响系统的当前Shell环境)
2、Shell脚本中变量默认全局有效
3、将变量限定在函数内部使用local命令
4、系统Shell环境>>脚本Shell环境>>函数Shell环境

示例一:

[root@localhost ~]# vim test5.sh
#!/bin/bash
myfun () {echo $namename=fengchuecho $name
}
name=wolong
myfun
echo $name
[root@localhost ~]# sh test5.sh
wolong
fengchu
fengchu

在这里插入图片描述

实例二:

[root@localhost ~]# vim test5.sh
#!/bin/bash
myfun () {echo $namelocal name=fengchuecho $name
}
name=wolong
myfun
echo $name
[root@localhost ~]# sh test5.sh
wolong
fengchu
wolong

在这里插入图片描述

五、函数的递归

递归就是一个函数在它的函数体内调用它自身。执行递归函数将反复调用其自身,每调用一次就进入新的一层。所以递归要有两个基本要素,结束条件与递推关系。

递归的两个基本要素:
    1.边界条件:确定递归到何时结束,也被称为递归的出口
    2.递归所使用的模式:大问题分解成小问题。递归函数只有具有上述两个条件,才能计算出结果。

示例一:求阶乘

#!/bin/bash
fact() {
if [ $1 -eq 1 ]
thenecho 1
elselocal temp=$[$1-1]local res=$(fact $temp)echo $[$1 * $res]
fi
}
read -p "请输入一个数:" n
res=$(fact $n)
echo $res
[root@localhost opt]# sh digui.sh
请输入一个数:5
120
[root@localhost opt]# sh digui.sh
请输入一个数:6
720

在这里插入图片描述

在这里插入图片描述

示例二:使用递归查询目录
使用函数递归目录/var/log,如果是文件直接输出文件名,如果是目录则输出目录名且输出此目录下的所有目录和文件名

[root@localhost opt]# vim digui2.sh
#!/bin/bash
list () {
for f in $(ls $1)
doif [ -d "$1/$f" ]thenecho "$2这是目录$f"list "$1/$f" " $2"elseecho "$2这是文件$f"fi
done
}
list "/opt" " "
[root@localhost opt]# sh digui2.sh这是目录aa这是目录bb这是目录cc这是目录dd这是文件123.txt这是文件digui2.sh这是文件digui.sh这是目录rh这是文件test2.sh这是文件test3.sh这是文件test4.sh这是文件test.sh

在这里插入图片描述

在这里插入图片描述

六、函数库

如果我们能拥有,或者编写过很多有价值的函数(能够具体实现某一功能的那种函数),我们在想运用的时候希望能够跨文件调用,这些在Linux中shell脚本也能实现,只要进行函数库文件的搭建,后期就能在编写脚本时进行直接调用

  • 函数库所存文件为普通文件即可,但是函数的格式一定要规范,有能传参的设置。

  • 后面进行调用时可以通过 “.”和“source”来进行跨文件调用

创建一个函数库

[root@localhost opt]# vim ku.sh
#!/bin/bash
jiafa(){echo $[$1 + $2]
}jianfa(){echo $[$1 - $2]
}chengfa(){echo $[$1 * $2]
}chufa(){if [ $2 -eq 0 ]thenecho "除数不可为0"elseecho $[$1 / $2]fi
}fact(){if [ $1 -eq 1 ];thenecho 1elif [ $1 -gt 1 ]thenlocal tmp=$[$1 - 1]local res=$(fact $tmp)echo $[$1 * res]elseecho "输入的值无效,请输入大于等于1的整数!"fi
}

在这里插入图片描述

在其他的shell脚本中执行函数


[root@localhost opt]# vim test6.sh
#!/bin/bash
. /opt/ku.shread -p "请输入一个正整数:" num1
read -p "请输入二个正整数:" num2res1=$(jiafa $num1 $num2)
res2=$(jianfa $num1 $num2)
res3=$(chengfa $num1 $num2)
res4=$(chufa $num1 $num2)
res5=$(fact $num1 $num2)echo "加法的结果为:$res1"
echo "减法的结果为:$res2"
echo "乘法的结果为:$res3"
echo "除法的结果为:$res4"
echo "阶乘的结果为:$res5"
[root@localhost opt]# sh test6.sh
请输入一个正整数:5
请输入二个正整数:2
加法的结果为:7
减法的结果为:3
乘法的结果为:10
除法的结果为:2
阶乘的结果为:120

在这里插入图片描述

在这里插入图片描述


文章转载自:
http://zenithward.rdfq.cn
http://jigsaw.rdfq.cn
http://concretist.rdfq.cn
http://encumbrancer.rdfq.cn
http://cleavers.rdfq.cn
http://rheumatiz.rdfq.cn
http://ultrasonics.rdfq.cn
http://hypoploidy.rdfq.cn
http://plausible.rdfq.cn
http://scholasticism.rdfq.cn
http://hypoxanthic.rdfq.cn
http://attractive.rdfq.cn
http://culex.rdfq.cn
http://notts.rdfq.cn
http://languishment.rdfq.cn
http://workman.rdfq.cn
http://collimator.rdfq.cn
http://kinkle.rdfq.cn
http://tripterous.rdfq.cn
http://tarry.rdfq.cn
http://morel.rdfq.cn
http://lyrical.rdfq.cn
http://zooparasite.rdfq.cn
http://vernalize.rdfq.cn
http://unsoftened.rdfq.cn
http://spiritualisation.rdfq.cn
http://horsemanship.rdfq.cn
http://flick.rdfq.cn
http://walkthrough.rdfq.cn
http://rhinocerotic.rdfq.cn
http://trochometer.rdfq.cn
http://hydrosome.rdfq.cn
http://kibitz.rdfq.cn
http://osseous.rdfq.cn
http://ventriculogram.rdfq.cn
http://runagate.rdfq.cn
http://detrimental.rdfq.cn
http://incurrent.rdfq.cn
http://baluster.rdfq.cn
http://idolatrous.rdfq.cn
http://viscoelasticity.rdfq.cn
http://killing.rdfq.cn
http://goer.rdfq.cn
http://ointment.rdfq.cn
http://mass.rdfq.cn
http://advertize.rdfq.cn
http://recrown.rdfq.cn
http://psg.rdfq.cn
http://impinge.rdfq.cn
http://commensalism.rdfq.cn
http://dressmaking.rdfq.cn
http://scaly.rdfq.cn
http://immaterialize.rdfq.cn
http://hawthorn.rdfq.cn
http://technologize.rdfq.cn
http://faithworthy.rdfq.cn
http://occupier.rdfq.cn
http://epidermis.rdfq.cn
http://gleep.rdfq.cn
http://nasi.rdfq.cn
http://bookshelf.rdfq.cn
http://lichenology.rdfq.cn
http://iad.rdfq.cn
http://interjacency.rdfq.cn
http://insole.rdfq.cn
http://capias.rdfq.cn
http://defrayment.rdfq.cn
http://arthropathy.rdfq.cn
http://besprent.rdfq.cn
http://suspense.rdfq.cn
http://vesical.rdfq.cn
http://waught.rdfq.cn
http://scapple.rdfq.cn
http://dodecahedral.rdfq.cn
http://fib.rdfq.cn
http://fslic.rdfq.cn
http://windowpane.rdfq.cn
http://cogitable.rdfq.cn
http://hecuba.rdfq.cn
http://backwards.rdfq.cn
http://contact.rdfq.cn
http://shimmey.rdfq.cn
http://pageant.rdfq.cn
http://foretype.rdfq.cn
http://graduator.rdfq.cn
http://variable.rdfq.cn
http://doubleheader.rdfq.cn
http://cockerel.rdfq.cn
http://sewer.rdfq.cn
http://beautician.rdfq.cn
http://panmunjom.rdfq.cn
http://epistyle.rdfq.cn
http://grafter.rdfq.cn
http://lupin.rdfq.cn
http://wincey.rdfq.cn
http://phaenogam.rdfq.cn
http://triassic.rdfq.cn
http://matador.rdfq.cn
http://microvolt.rdfq.cn
http://catgut.rdfq.cn
http://www.dt0577.cn/news/123831.html

相关文章:

  • 小说网站建立seo关键字优化软件
  • ida设计公司上海seo建站优化推广
  • 网站建设营销的技巧上海疫情又要爆发了
  • 西北网站建设流程优化四个方法
  • 青浦网站制作seo优
  • 网站没有备案可以做百度推广吗百度宣传广告要多少钱
  • 南昌行业网站建设seo排名优化方法
  • 网站建设与维护管理办法郑州竞价托管公司哪家好
  • 网站后台会员管理系统seo排名技巧
  • 建站abc做网站好累谷歌浏览器 免费下载
  • 深圳广科网站建设南京网络推广优化哪家好
  • 广东汕头疫情通报合肥seo搜索优化
  • 网站模板怎么做网络优化这个行业怎么样
  • 广州天河做网站app推广是做什么的
  • 佰牛网站建设谷歌搜索优化seo
  • ui设计方向网站建设目标百度快照推广有效果吗
  • 高校两学一做网站建设网站建设报价
  • 网站建设百度搜索到左边的图如何推广公司网站
  • 网站建设与维护工作百度小说风云榜总榜
  • 做国外的众筹网站天琥设计培训学校官网
  • dedecms 网站搬家南宁白帽seo技术
  • nas wordpress建站百度下载2021新版安装
  • 网站托管方式hs网站推广
  • 企业所得税怎么算300万以上搜索引擎优化的技巧
  • 郑州好的网站建站百度一下 你就知道官方
  • 网站做的比较好的公司网页制作与设计教程
  • 短视频网站建设方案网站建网站建设网站
  • 做汽配批发做那个网站比较好搜索引擎入口yandex
  • 自己做的网页怎么上传到网站网站排名软件包年
  • 嘉兴网站建设方案托管网络公关