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

广州网站开发公司排名国家企业信用信息公示系统四川

广州网站开发公司排名,国家企业信用信息公示系统四川,如何设计好的网页,seo实战论坛目录 一、函数 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/602137.html

相关文章:

  • 一家公司做两个网站金华网站制作策划
  • 西安专业做网站的公司有哪些网站服务器ip地址查询
  • 建了个网站百度上会有么pc建站
  • 美食网站 怎么做做黄金期货的网站
  • 搭建本地网站南京网站开发南京乐识专心
  • 网站推广定义浙江省住房和城乡建设厅网站查询
  • 烟台网站建设求职简历wordpress自定义背景颜色
  • 郑州高端网站案例温州市手机网站制作哪家好
  • 视频网站怎么做服务器住房和城乡建设部科技发展促进中心网站
  • 品牌网站建设只询大蝌蚪网络管理软件有哪些
  • 织梦网站更改网站二维码可以做长按识别吗
  • 资料查询网站建设如何用七牛云做视频网站
  • 做推广网站的去哪能买到有效资料在线免费看影视网站
  • 多媒体设计制作公司北京seo sem论坛
  • 太原营销型网站建设制作可信的邢台做网站
  • 哪个浏览器不屏蔽网站做网站录入和查询需求
  • 高校网站建设的重要性seo具体怎么优化
  • 织梦网如何把做网站的删掉导视设计论文
  • 办公oa系统大概多少钱无忧seo博客
  • 南山免费做网站公司排名最好seo的wordpress
  • 图片展示网站建设我做推广找不到我的网站
  • 旅游网站建设目标分析吉林平台网站建设多少钱
  • 外贸网站建设报价视觉品牌网站建设
  • 南京网站建设中企动力国外买域名的网站
  • 模板网站禁止右键家具网站建设案例
  • 长沙开发网站邯郸百度网站建设
  • 深圳网站制作哪家便宜上海网站建设安全
  • 北京做网站报价杭州网站建设公司联系方式
  • 公司在百度做网站找谁网络推广营销策划方案
  • 建筑公司网站宣传建筑工地文案范文图片做网站赚不了钱