函数、数组与 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次










相关推荐
阿狗童鞋11 分钟前
Nginx反向代理与负载均衡实战指南
运维·nginx·负载均衡
IT大白鼠15 分钟前
彭大帅的AI运维助手——自然语言管理 Linux 集群与网络设备——第 2 篇 · 安全守规矩的 AI:分级安全管控是灵魂
linux·运维·人工智能
闭包不眠17 分钟前
端侧AI能省多少服务器钱:把账换成字节算
运维·服务器·图像处理·人工智能·计算机视觉
风华同学19 分钟前
免密SSH登录Ubuntu
linux·运维·ubuntu
꯭自꯭闭꯭19 分钟前
达梦守护集群手工切换及故障切换
linux·运维·服务器·数据库
哈__20 分钟前
日志散在多台服务器怎么查?用 Promtail + Loki + Grafana 搭一套集中检索平台
运维·服务器·grafana
CHENKONG_CK22 分钟前
恶劣工况下 RFID 赋能喷涂产线自动化分拣与作业
运维·网络·人工智能·自动化·汽车·rfid·rfid
wdfk_prog32 分钟前
Wi-Fi Direct 教程 04:Interface 协议子系统初始化——WPA/EAPOL、WPS、DPP/NAN、GAS 与 P2P callback
android·运维·服务器·ubuntu·p2p·wps·wifi-direct
云飞云共享云桌面35 分钟前
有个10人的SolidWorks设计团队,服务器什么配置合适,如何落地
运维·服务器·3d·自动化·电脑·制造
逆向编程39 分钟前
VMware仅主机(Host‑Only,VMnet1)物理机‑虚拟机文件共享完整实操
运维