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

三里屯做网站的公司快速网络推广

三里屯做网站的公司,快速网络推广,wordpress文字颜色,网站建设的作用目录 一、函数 1.1、定义函数 1.2、查看、删除函数 1.3、函数的返回值 1.4、函数的参数传递 1.5、函数的作用范围 1.6、函数递归 二、数组 2.1、声明数组 2.2、数组格式定义 2.3、数组调用 2.4、删除数组 一、函数 shell编程中,函数用于封装一段可以重…

目录

一、函数

1.1、定义函数

1.2、查看、删除函数

1.3、函数的返回值

1.4、函数的参数传递

1.5、函数的作用范围

1.6、函数递归

二、数组

2.1、声明数组

2.2、数组格式定义

2.3、数组调用

2.4、删除数组


一、函数

shell编程中,函数用于封装一段可以重复使用的代码,类似。可以在脚本的任何地方定义函数,且随时调用这些函数。

1.1、定义函数
//定义函数的三种格式
函数名 () {
command1
command2
}function 函数名 {
command1
command2
}function 函数名 () {
command1
command2
}
[root@localhost opt]# function time1(){ echo $(date +%F-%T); }    //定义函数
[root@localhost opt]# echo $(time1)                               //调用函数
2025-03-12-22:21:26[root@localhost opt]# vim newfunction.sh 
#!/bin/bashtime1(){                    //定义函数
echo `date +%F-%T`
}
time1                       //调用函数
[root@localhost opt]# . newfunction.sh     //.或source执行脚本,显示调用函数结果
2025-03-12-22:30:05
1.2、查看、删除函数

declare命令的功能时用于声明定义新的变量。由于该命令创建的变量为临时变量,切换shell或重启就会失效,所有只使用其 f 选项查看所有函数。

[root@localhost opt]# declare -f time1    //查看函数名及函数定义
time1 () 
{ echo $(date +%F-%T)
}
[root@localhost opt]# declare -F time1    //只显示函数名称
time1

unset命令是删除指定的shell变量或函数

[root@localhost opt]# unset time1
[root@localhost opt]# declare -f time1
[root@localhost opt]# 
1.3、函数的返回值

return用于函数内部,表示函数的退出状态,只能返回0-255的整数值,超过256的值会和256相除取余。ruturn后,函数的执行会停止,脚本中的其他代码继续执行。

  • 0:表示函数执行成功,且没有错误。
  • 非0:表示函数执行失败,具体的错误码表示不同类型的错误。
#!/bin/bash
# 定义一个函数,判断输入数字是否大于 10
check_number() {if [ $1 -gt 10 ];thenreturn 0  # 如果大于10,返回0表示成功elsereturn 1  # 如果小于等于10,返回1表示失败fi
}# 调用函数并处理返回值
check_number 15
if [ $? -eq 0 ];thenecho "15 大于 10."
elseecho "15 小于等于 10."
ficheck_number 5
if [ $? -eq 0 ];thenecho "5 大于 10."
elseecho "5 小于等于 10."
fi[root@localhost opt]# bash num1.sh 25
15 is greater than 10.
5 is less than or equal to 10.
1.4、函数的参数传递

在 Bash 中,函数的参数传递是通过位置参数来实现的。这些参数在函数内部通过$1,$2,$3等来访问。$1表示第一个传递给函数的参数,$2表示第二个,以此类推。

[root@localhost opt]# vim greet
#!/bin/bash
greet(){
echo $1
echo $2
}greet $2 $1[root@localhost opt]# bash greet.sh a b
b
a
1.5、函数的作用范围
[root@localhost ~]#name=aa
[root@localhost ~]#func1 () { name=bb ; echo $name; }
[root@localhost ~]#func1
bb
[root@localhost ~]#echo $name 
bb
[root@localhost ~]#name=aa;func1 () { local name=bb ;echo $name; };echo $name
//加上local变量即可将变量限制在函数内
aa
1.6、函数递归

即函数调用自己本身的函数

//阶乘
fact() {if [ $1 -eq 1 ]thenecho 1elselocal temp=$[$1 - 1]local result=$(fact $temp)echo $[$1 * $result]#  5 * $result(4*$result(3*$result(2*$result(1))))fi
}
read -p "请输入:" n
result=$(fact $n)
echo $result  //阶乘结果

二、数组

数组:存储多个元素的连续的内存空间,相当于多个变量的集合

数组名和索引

  • 索引的编号从0开始,属于数值索引

  • 索引可支持使用自定义的格式,而不仅是数值格式,即为关联索引,bash 4.0版本之后开始支持

  • bash的数组支持稀疏格式(索引不连续)

2.1、声明数组
//普通数组可以不事先声明,直接使用,系统会自动声明
declare -a ARRAY_NAME
//关联数组必须先声明,再使用
declare -A ARRAY_NAME
2.2、数组格式定义
//数组名=(value0  value1 value2 value3 ......)
[root@localhost ~]# a=(1 2 3 4 5)0 1 2 3 4    //通过下标值定义
//数组名=([0]=value   [1]=value1  [2]=value2 ....)
[root@localhost ~]#declare -a
declare -a a='([0]="1" [1]="2" [2]="3" [3]="4" [4]="5")'
[root@localhost ~]# echo ${!a[*]}        //查看下标 
0 1 2 3 4
[root@localhost ~]# echo ${a[0]}         //数组的取值  数组加下标
1                                        //输出第一一个数值  注意是从0开始计算//先定义列表,再定义数组
//列表名="value0  value1 value2 value3 ...... "
//数组名=($列表名)
[root@localhost ~]#list="1 2 3 4 5"    //先定义列表
[root@localhost ~]#list1=($list)       //再定义数组
[root@localhost ~]#echo ${list1[@]}
1 2 3 4 5//单独赋值
数组名[0]="value1"
数组名[1]="value2"
数组名[2]="value3"
2.3、数组调用
//列出所有参数
[root@localhost ~]# echo ${a[*]}   //*代表所有参数
1 2 3 4 5
[root@localhost ~]# echo ${a[@]}   //@同*
1 2 3 4 5
//共有多少个位置
[root@localhost ~]# echo ${#a[@]}     //前面加#数组的长度
5
[root@localhost ~]# echo ${#a[*]}    
5
//数组分隔
[root@localhost ~]# a=(1 2 3 4 5)
[root@localhost ky15]#echo ${a[@]:0:5}
1 2 3 4 5
[root@localhost ky15]#a[1]=9
//数组替换
[root@localhost ky15]#echo ${a[1]}
9
[root@localhost ky15]#echo ${a[@]}
1 9 3 4 5
//数组切片:
${ARRAY[@]:offset:number}
offset //要跳过的元素个数
number //要取出的元素个数
//取偏移量之后的所有元素 
{ARRAY[@]:offset}[root@centos8 ~]#num=({0..10})
[root@centos8 ~]#echo ${num[*]:2:3}
2 3 4
[root@centos8 ~]#echo ${num[*]:6}
6 7 8 9 10
2.4、删除数组
//删除数组
unset 数组名
[root@localhost opt]# a=(1 2 3 4 5)
[root@localhost opt]# unset a
[root@localhost opt]# echo ${a[*]}[root@localhost opt]# 

http://www.dtcms.com/wzjs/97855.html

相关文章:

  • 关方网站买微信互联网营销推广渠道
  • 个人建交友网站磁力岛
  • 安徽工程建设信息网站进皖企业重庆关键词优化平台
  • 苏州做网站公司正规专业短期培训学校
  • 怎么用腾讯云做网站百度电脑版入口
  • 哪些专门做批发的网站沈阳网络优化培训
  • 微网站模板前后台seo营销策略
  • 怎么用wordpress建外贸网站seo搜索优化公司排名
  • 在线看私人不收费不登录简述seo的应用范围
  • 个人在线视频播放网站搭建恢复原来的百度
  • 公司网站上传图片大小促销活动推广语言
  • 做网站的标性注册网站
  • 推广做任务 有哪些网站seo网站优化推广教程
  • 互联网app网站建设方案模板下载网络舆情监测中心
  • 清城网站seo百度网站推广排名优化
  • 七牛云cdn配置wordpress北京百度关键词优化
  • 上海定制建站网站建设上海网络推广公司排名
  • 辽源seoseo推广软件品牌
  • 万网备案网站名称郑州seo网络推广
  • 制造网站建设哪家好网站关键词排名优化系统
  • 深圳网站搜索seo面试常见问题及答案
  • 绵阳 网站开发 公司最新足球消息
  • 在哪个网站上找超市做生鲜百度云网盘资源
  • 微网站摇一摇竞价托管
  • 哪个网站可以领手工活在家做怎么做业务推广技巧
  • 外贸公司网站怎么做种子搜索引擎在线
  • 山东网站开发公司seo优化是什么
  • 自学做网站多长时间软文优化
  • 如何套用别人网站做页面html网页完整代码作业
  • 毕节网站建设兼职seo关键字排名优化