首页 > 系统相关 >shell函数和数组

shell函数和数组

时间:2023-02-05 09:56:12浏览次数:34  
标签:shell 下标 函数 pc1 数组 root 定义

一、函数

1、函数使用方法

  1. 定义函数

  2. 再引用函数

  3. 查看系统限制所有函数:declare -F

  4. 看函数定义详细内容:declare -f  函数名  

  5. 删除函数:unset 函数名

 

2、注意事项

  1. 直接写 函数中调用函数 直接写函数名

  2. 同名函数 后一个生效

  3. 调用函数一定要先定义

  4. 只要先定义了调用的 其他函数定义顺序无关

 

3、定义函数基本格式
①function 函数名 () {

函数内容

}

 

②function 函数名 {

函数内容

}

 

③函数名 () {

函数内容

}

 

4、函数变量
①函数中的变量默认为全局生效,若想要限制函数中的变量只在本函数中生效则在定义变量时使用local 变量名=变量值的格式。

 

5、退出函数
①exit退出函数,脚本中使用exit退出函数时直接退出整个脚本,脚本后续内容不再执行。

②return退出函数,脚本使用return退出函数时只退出函数,不影响脚本后续内容执行。

 

 

 

二、shell数组
1、数组分类
①关联数组:必须声明才可以使用,命令:delare -A 数组名

②普通数组:利用数字下标节约变量,可以不声明也可以声明,命令:delare -a 数组名

delare -a命令也可查看有哪些普通数组

2、定义数组方法

①普通数组

数组名=(vlaue0 vlaue1 vlaue2 ...)

[root@pc1 ~]#a=(10 20 30) #定义数组a,值为10 20 30
[root@pc1 ~]#echo ${a[0]} #输出数组a下标为0的元素
10
[root@pc1 ~]#echo ${a[@]} #输出数组a中所有的元素
10 20 30
[root@pc1 ~]#echo ${a[*]} #输出数组a中所有的元素
10 20 30
[root@pc1 ~]#echo ${#a[@]} #输出数组a中元素的个数
3
[root@pc1 ~]#echo ${!a[@]} #输出数组a中元素的下标
0 1 2
[root@pc1 ~]#a[0]=100 #重新定义数组a下标为0的元素为100
[root@pc1 ~]#echo ${a[0]} #输出数组a中下标为0的元素
100

  

②关联数组定义

delare -A 数组名 #声明数组
数组名[下标]=元素 #定义关联数组

[root@pc1 ~]#declare -A f #声明关联数组f
[root@pc1 ~]#f[name]=pc1 #定义关联数组f下标name的元素为pc1
[root@pc1 ~]#f[ip]=10.0.0.0 #定义关联数组f下标ip的元素为10.0.0.0
[root@pc1 ~]#echo ${f[@]} #输出关联数组f的所有元素值
pc1 10.0.0.0
[root@pc1 ~]#echo ${!f[@]} #输出关联数组f中元素的所有下标
name ip

  

 

标签:shell,下标,函数,pc1,数组,root,定义
From: https://www.cnblogs.com/trist-commot/p/17076680.html

相关文章

  • Linux系统Shell脚本第一章:Shell脚本基础 + 时间同步
    一、Shell脚本基础1.什么是shell脚本?及构成就是将命令按顺序一一列出,最后自动执行执行需要权限,也可以直接使用绝对路径脚本其实不复杂,通用脚本环境改变后依然......
  • shell脚本——文本处理工具
      文本处理工具--grep、sed、awkBashShell提供了功能强大的文件处理工具:sed(流编辑器streameditor)和awk,都可使用正则表达式进行模式匹配。而grep又有......
  • shell脚本——函数与数组
     Shell脚本之函数及数组一、函数函数的作用语句块定义成函数约等于别名,定义函数,再引用函数封装的可重复利用的具体特定功能的代码函数的基本格式法一......
  • shell脚本——变量与条件语句
     文章目录 Shell:一般我们是用图形界面和命令去控制计算机,真正能够控制计算机硬件(CPU、内存、显示器等)的只有操作系统内核(Kernel),由于安全、复杂、繁琐......
  • shell脚本——正则表达式
     LinuxShell脚本之正则表达式一、常见的管道命令sort命令sort命令可针对文本文件的内容,以行为单位来排序格式:sort [选项] 参数常用选项选项  ......
  • 两数组交集
    给定两个数组 nums1 和 nums2 ,返回 它们的交集 。输出结果中的每个元素一定是 唯一 的。我们可以 不考虑输出结果的顺序 。constintersection=(nums1,nums......
  • 数组中找到与目标值最接近的数字
    //二分法O(logn)constfindNearestTarget=(nums=[1,2,6,9,10],target=3)=>{letstartIdx=0,endIdx=nums.length-1;while(star......
  • 析构函数和构造函数的特点(在汇编中如何识别构造和析构)
    1.构造函数1.1概念​ 常用来完成对象生成时的数据初始化工作,支持函数重载,不可定义返回值,返回值为对象首地址,即this指针拷贝构造函数:参数为对象地址,返回值为this指针1......
  • Java 实例 - int数组转化成List简便的方法
    如下:@Testpublicvoidtest5(){int[]array={1,2,5,5,5,5,6,6,7,2,9,2};/*int[]转list*///方法一:需要导入apacheco......
  • 《人工智能:线代方法》 第二部分问题求解 通过搜索进行问题求解(4) 启发式函数
    《人工智能:线代方法》第二部分问题求解通过搜索进行问题求解(4)3.6启发式函数启发式函数h(n)告诉A*从任意结点n到目标结点的最小代价评估值。选择一个好的启发式函数......