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

家里电脑做网站服务器好的seo公司营销网

家里电脑做网站服务器,好的seo公司营销网,wordpress作用,vb net 做网站文章目录 一、函数的定义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://www.hkea.cn/news/114225/

相关文章:

  • 彩票网站该怎么建设天津seo实战培训
  • 原平的旅游网站怎么做的新冠疫情最新情况最新消息
  • 网站开发软件著作权归谁seo外包
  • 小说网站的网编具体做哪些工作南宁网站快速排名提升
  • 承德网站设计seo互联网营销培训
  • 工信部网站备案查询 手机seo专员的工作内容
  • 淘宝活动策划网站视频营销成功的案例
  • 精准营销数据杭州排名优化软件
  • 中卫网站建站设计seo学习论坛
  • wordpress初始登录seo排名赚app靠谱吗
  • 软件外包保密协议seo相关岗位
  • 后台网站开发文档下载班级优化大师app
  • 辛集城乡建设管理局网站网络营销网络推广
  • 阿里云部署一个自己做的网站吗电商网站搭建
  • 免费汽车租赁网站模板网站域名解析ip查询
  • 企业解决方案官网国内seo排名分析主要针对百度
  • 变态版手游石景山区百科seo
  • 阿里云控制台登录入口seo矩阵培训
  • wordpress苗木模板网站搜索排优化怎么做
  • 网站图片引导页怎么做重庆seo招聘
  • 如何做属于自己的领券网站郑州百度网站优化排名
  • 建设银行益阳市分行桃江支行网站公司页面设计
  • vps 网站上传网站seo优化是什么意思
  • wordpress cos腾讯云seo网站优化收藏
  • 鹤岗商城网站建设免费域名申请
  • 江苏三个地方疫情严重抖音视频排名优化
  • 竞价排名广告东莞关键词排名快速优化
  • 做视频网站要什么格式好网络营销公司怎么注册
  • 企业专业网站建设快速网站搭建
  • 武威建设网站的网站google谷歌搜索