Loading [MathJax]/jax/output/HTML-CSS/jax.js

shell中的函数和数组

简介:

shell中的函数和数组
在shell中函数的关键字function是可以省略的,而且和其他大部分的编程语言一样,函数要声明在调用函数的语句之前,因为代码都是从上至下执行的。以下写一个简单的函数打印脚本的参数,代码示例:
shell中的函数和数组
0# 表示此函数参数的个数,要注意的是在函数里的12、3使1、23获得的才是脚本的参数。

<br>
运行结果:
shell中的函数和数组

<br>
在函数体外使用$n...获得的才是脚本的参数:
shell中的函数和数组

<br>
运行结果:
shell中的函数和数组

<br><br>
shell中的函数和数组
这个示例是定义一个用于进行加法运算的函数:
shell中的函数和数组
<br>
运行结果:
shell中的函数和数组

<br><br><br>
函数的基本知识介绍完了,下面来做一个小例题,使用函数来实现这个需求:
需求:用户输入一个网卡名称,此脚本就能够把网卡的IP地址打印出来。
代码示例:

#!/bin/bash
ip(){
   #得到网卡的IP
   ipAddress=`ifconfig |grep -A1 "$1: " |awk '/inet/ {print $2}'`

   #过滤没有IP的网卡
   if [ -n "$ipAddress" ]
   then
      echo "This eth IP is: $ipAddress"
   else
      echo "This eth not IP!"
      exit 1
   fi
}

read -p "Please input the eth name: " eth

#过滤用户的输入:输入内容不能为空,网卡不能不存在
if [ -n "$eth" ]
then
   addr=`ifconfig |grep $eth`
   if [ -n "$addr" ]
   then
      ip $eth
   else
      echo "Not this eth!"
            exit 1
   fi
else
   echo "You need input eth name!"
   exit 1
fi
AI 代码解读

<br>
运行结果:
shell中的函数和数组

<br><br><br>

20.18 shell中的数组

shell中的函数和数组
Shell中的数组合其他编程语言的数组概念是一样的,都是一堆数据的集合,下标也是从0开始,在日常编写的shell脚本中数组使用的次数不像其他编程语言那么多。
数组的声明格式:
name=(1 2 3 4)
使用空格隔开数组中的元素

<br>
打印数组中的所有元素的常用方式有两种:
shell中的函数和数组

<br>
打印数组中的某个元素,方括号里的是下标:
shell中的函数和数组

<br>
打印数组的长度:
shell中的函数和数组

<br>
给数组增加元素:
shell中的函数和数组

<br>
重新赋值数组中的某个元素:
shell中的函数和数组

<br>
删除数组中的某个元素,和删除整个数组:
shell中的函数和数组

<br><br><br>
shell中的函数和数组
我们可以使用seq命令给数组赋值一个范围的数值,例如我赋值1到10这个范围的数字:
shell中的函数和数组

<br>
截取数组示例:
shell中的函数和数组

<br>
从第一个元素开始,截取3个元素,截取后原本的数组元素不会有变动。
还可以倒着截取数组中的元素,例如我要从倒数第3个元素开始,截取2个元素:
shell中的函数和数组

<br>
数组替换,和sed命令有点类似,例如我要把数组中的3替换成100:
shell中的函数和数组
同样的原本的数组不会发生变动。
可以把替换后的数组元素赋值给一个数组变量:
shell中的函数和数组



本文转自 ZeroOne01 51CTO博客,原文链接:http://blog.51cto.com/zero01/2043931,如需转载请自行联系原作者

目录
打赏
0
0
0
0
265
分享
相关文章
|
6月前
|
Shell 数组
【10月更文挑战第16天】
90 3
|
6月前
|
Shell 函数
10月更文挑战第4天
44 7
|
6月前
|
Shell 数组
10月更文挑战第2天
50 1
|
8月前
|
Shell 数组编程
【8月更文挑战第22天】 Shell 数组编程
79 10
在Linux中, 什么是shell函数?如何使用它们?
在Linux中, 什么是shell函数?如何使用它们?
Shell 函数深入解析与实践
了解 Shell 函数的基础,包括定义、参数传递及返回值。函数定义有多种语法,如 `function func() {...}` 或 `func() {...}`。参数通过 `1,2` 等访问,`@return退0255echo?`,例如:`result=$?`。实践中不断探索和学习!
60 1
Shell 数组:灵活操作的秘诀
**Shell 数组简介**:作为基础数据结构,数组在Shell编程中不可或缺。它们存储多个值,下标从0开始。创建如`array=(值1 值2...)`,访问用`array[index]unsetarray[index]{#array[@]}`获取长度。通过实践这些操作,提升Shell脚本技能。
80 0
第五章 Shell函数与数组
第五章 Shell函数与数组
|
10月前
|
linux shell 脚本实现:根据文件内容中的每行分隔符放入数组,根据规则打印日志并重新创建目录 备份文件
linux shell 脚本实现:根据文件内容中的每行分隔符放入数组,根据规则打印日志并重新创建目录 备份文件
86 0