函数、数组与 grep + 正则表达式的 Linux Shell 编程进阶指南

文章目录


根据你提供的内容,我整理了一份关于Shell脚本中函数、数组和正则表达式的简明参考:

1.函数相关

  1. 函数调用

    • 直接使用函数名调用:函数名
  2. 参数传递

    • 函数内接收参数:$n(如$1表示第一个参数,${10}表示第十个参数)
    • 调用时传递参数:函数名 参数1 参数2 ...
  3. 返回值处理

    • 函数中使用return 数据值返回数据
    • 返回值默认存储在$?
    • 可直接使用$?操作返回值
      案例:

2.数组相关

  1. 数组定义

    bash 复制代码
    # 直接定义
    array_name=(value1 value2 value3 ...)
    
    # 单独定义元素
    array_name[0]=value1
    array_name[1]=value2
  2. 数组元素读取

    bash 复制代码
    # 读取指定索引元素(索引从0开始)
    echo ${array_name[index]}
    
    # 读取所有元素
    echo ${array_name[@]}  # 或 ${array_name[*]}
  3. 数组遍历

    bash 复制代码
    # 方式1
    for ceshi in "${array_name[@]}"; do
        echo $ceshi
    done
    
    # 方式2
    for ((i=0; i<${#array_name[@]}; i++)); do
        echo ${array_name[i]}
    done

3.正则表达式与grep

  1. grep常用选项

    • -E:启用扩展正则
    • -c:统计匹配行数
    • -i:忽略大小写
    • -o:只输出匹配内容
    • -v:反向匹配(不包含的行)
    • -n:显示行号
  2. 常用元字符

    • ^:行首
    • $:行尾
    • .:任意单字符
    • []:匹配字符集中的任意一个字符
    • [^]:反向匹配(不包含字符集中的任意一个字符)
    • *:匹配前面的子表达式零次或多次
    • {n}:精确匹配n次
    • {n,}:至少匹配n次
    • {n,m}:匹配n到m次










相关推荐
Trouvaille ~1 小时前
【Linux】应用层协议设计实战(一):自定义协议与网络计算器
linux·运维·服务器·网络·c++·http·应用层协议
allway21 小时前
基于华为taishan200服务器、arm架构kunpeng920 cpu的虚拟化实战
linux·运维·服务器
CSCN新手听安1 小时前
【linux】高级IO,I/O多路转接之poll,接口和原理讲解,poll版本的TCP服务器
linux·运维·服务器·c++·计算机网络·高级io·poll
熊文豪1 小时前
服务器炸了才知道?Ward+cpolar让异常无处藏
运维·服务器·cpolar
杜子不疼.2 小时前
【Linux】教你在 Linux 上搭建 Web 服务器,步骤清晰无门槛
linux·服务器·前端
荔枝吻2 小时前
忘记服务器密码,在Xshell7中查看已保存密码
运维·服务器·github
码农阿豪2 小时前
多服务器批量指令管理:从Xshell到自动化运维
运维·服务器·自动化
Pocker_Spades_A2 小时前
在家也能连公司服务器写代码?GoLand+CPolar 远程开发实测
运维·服务器
CSCN新手听安2 小时前
【linux】网络基础(三)TCP服务端网络版本计算器的优化,Json的使用,服务器守护进程化daemon,重谈OSI七层模型
linux·服务器·网络·c++·tcp/ip·json
普马萨特2 小时前
GPS、WiFi、基站定位:为什么在 Agent 时代不仅不受影响,反而更重要
linux·运维·服务器