函數、數組與 grep + 正則表達式的 Linux Shell 編程進階指南

文章目錄

      • 1.函數相關
      • 2.數組相關
      • 3.正則表達式與grep


根據你提供的內容,我整理了一份關于Shell腳本中函數、數組和正則表達式的簡明參考:

1.函數相關

  1. 函數調用

    • 直接使用函數名調用:函數名
  2. 參數傳遞

    • 函數內接收參數:$n(如$1表示第一個參數,${10}表示第十個參數)
    • 調用時傳遞參數:函數名 參數1 參數2 ...
  3. 返回值處理

    • 函數中使用return 數據值返回數據
    • 返回值默認存儲在$?
    • 可直接使用$?操作返回值
      案例:
      在這里插入圖片描述
      在這里插入圖片描述

2.數組相關

  1. 數組定義

    # 直接定義
    array_name=(value1 value2 value3 ...)# 單獨定義元素
    array_name[0]=value1
    array_name[1]=value2
    
  2. 數組元素讀取

    # 讀取指定索引元素(索引從0開始)
    echo ${array_name[index]}# 讀取所有元素
    echo ${array_name[@]}  # 或 ${array_name[*]}
    
  3. 數組遍歷

    # 方式1
    for ceshi in "${array_name[@]}"; doecho $ceshi
    done# 方式2
    for ((i=0; i<${#array_name[@]}; i++)); doecho ${array_name[i]}
    done
    

在這里插入圖片描述

3.正則表達式與grep

  1. grep常用選項

    • -E:啟用擴展正則
    • -c:統計匹配行數
    • -i:忽略大小寫
    • -o:只輸出匹配內容
    • -v:反向匹配(不包含的行)
    • -n:顯示行號
  2. 常用元字符

    • ^:行首
    • $:行尾
    • .:任意單字符
    • []:匹配字符集中的任意一個字符
    • [^]:反向匹配(不包含字符集中的任意一個字符)
    • *:匹配前面的子表達式零次或多次
    • {n}:精確匹配n次
    • {n,}:至少匹配n次
    • {n,m}:匹配n到m次
      在這里插入圖片描述
      在這里插入圖片描述
      在這里插入圖片描述
      在這里插入圖片描述

在這里插入圖片描述

在這里插入圖片描述
在這里插入圖片描述

在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/95362.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/95362.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/95362.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

nginx-realip問題解決方案

nginx-realip問題解決方案一、配置真實ip解析二、日志中記錄真實 IP三、在日志中驗證一、配置真實ip解析 讓backend server知道前端是誰來訪問的&#xff0c;知道他們的ip地址 LB在轉發數據包的時候&#xff0c;在http請求報文里增加一個字段&#xff0c;攜帶user的ip地址&am…

Kafka入門指南:從安裝到集群部署

一、Kafka 基礎與系統要求 1.1 核心概念 Broker&#xff1a;Kafka 服務器節點&#xff0c;負責存儲消息和處理客戶端請求 Topic&#xff1a;消息分類的邏輯容器&#xff0c;每條消息需指定發送到某個 Topic Partition&#xff1a;Topic 的物理分片&#xff0c;可分布式存儲…

20250828在榮品RD-RK3588-MID開發板的Android13系統下適配Bainianxing的GPS模塊BU-16M10

20250828在榮品RD-RK3588-MID開發板的Android13系統下適配Bainianxing的GPS模塊BU-16M10 2025/8/29 9:50榮品RD-RK3588-MID開發板。適配GPS 38400bps 需要配置波特率嗎&#xff1f;一般是 9600這邊使用的泰斗 你要適配新的gps模塊&#xff1f;規格書&#xff1a;Baud rate 3840…

對部分國家(地區)出口商品類章金額數據庫

一、數據庫簡介【艾思產研數據平臺】對部分國家(地區)出口商品類章金額數據庫&#xff0c;收錄了2015年02月 - 2025年5月的信息&#xff0c;共計49萬余條數據&#xff0c;整理出7個常用字段內容。更新頻率為月更。字段內容年月、類章、國家、國家id、所屬分類、月出口商品類章金…

STM32——中斷

總&#xff1a;STM32——學習總綱 一、什么是中斷 1.1 作用與意義 1.2 STM32 GPIO 外部中斷簡圖 二、NVIC 2.1 NVIC 基本概念 Nested vectored interrupt controller&#xff0c;嵌套向量中斷控制器&#xff0c;屬于內核&#xff08;M3、M4、M7&#xff09; 用不到很多的優先…

DVWA靶場通關筆記-Weak Session IDs (Impossible級別)

目錄 一、Session ID 二、源碼分析 1、index.php 2、impossible.php 三、Weak Session IDs安全級別對比 四、impossible防范方法分析 1、高隨機性會話 ID 生成 2、嚴格的 Cookie 作用域限制 3、安全的傳輸與存儲控制期 本系列為通過《DVWA靶場通關筆記》的Weak Sessio…

SyncBack 備份同步軟件: 使用 FTPS、SFTP 和 HTTPS 安全加密傳輸文件

傳輸加密是使用安全連接在網絡中傳輸數據&#xff08;例如文件&#xff09;的過程。TLS&#xff08;傳輸層安全&#xff09;、SSL&#xff08;安全套接字層&#xff09;、SSH&#xff08;安全套接字外殼&#xff09;、HTTPS&#xff08;基于 SSL/TLS 的超文本傳輸協議&#xff…

保健品跨境電商:如何筑牢產品質量與安全防線?

保健品跨境電商&#xff1a;如何筑牢產品質量與安全防線&#xff1f;在保健品跨境電商領域&#xff0c;“質量與安全”是消費者信任的基石&#xff0c;也是品牌長期發展的生命線。從海外工廠生產到國內消費者手中&#xff0c;產品需經歷“跨國運輸、清關核驗、倉儲配送”多環節…

手把手教你搭建 UDP 多人聊天室(附完整源碼)

一、項目介紹 本文將分享一個基于 UDP 協議的簡易多人聊天室項目&#xff0c;包含服務器端和客戶端的完整實現。該聊天室支持多客戶端同時連接&#xff0c;能實現消息群發、用戶加入 / 退出通知等核心功能&#xff0c;適合作為網絡編程入門實踐案例。項目采用 C 語言開發…

Vue基礎知識-使用監視屬性watch和計算屬性computed實現列表過濾+排序

一、完整源碼<!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>Document</title><script src…

自動化運維-ansible中的管理機密

自動化運維-ansible中的管理機密 一、Ansible Vault 在自動化配置管理中&#xff0c;直接以純文本形式存儲密碼、API密鑰、證書等敏感信息是極大的安全漏洞。Ansible Vault 正是為了解決這一問題而設計的核心功能 Ansible Vault 是 Ansible 的一個核心功能&#xff0c;它允許用…

UFUNCTION C++ 的再次理解

一.UFUNCTION 格式和屬性也比較像&#xff0c;兩部分 函數說明符&#xff0c;和元數據說明符UFUNCTION不僅能 控制對藍圖公開&#xff0c;還能與 綁定委托&#xff0c;用戶輸入,網絡回調功能相關聯&#xff0c;而且還能創建自己控制帶命令二.函數說明符控制 &#xff0c;函數在…

《論文閱讀》從心到詞:通過綜合比喻語言和語義上下文信號產生同理心反應 2025 ACL findings

《論文閱讀》從心到詞:通過綜合比喻語言和語義上下文信號產生同理心反應 2025 ACL findings 前言 創新點 形象語言 (Figurative Language) 語義上下文信號(Semantic Context Signals) 模型架構 情緒原因標注 形象語言元數據獲取 共情回復生成 實驗結果 總結 趨勢 前言 親…

MySQL內置的各種單行函數

精選專欄鏈接 &#x1f517; MySQL技術筆記專欄Redis技術筆記專欄大模型搭建專欄Python學習筆記專欄深度學習算法專欄 歡迎訂閱&#xff0c;點贊&#xff0b;關注&#xff0c;每日精進1%&#xff0c;與百萬開發者共攀技術珠峰 更多內容持續更新中&#xff01;希望能給大家帶來…

Python OpenCV圖像處理與深度學習:Python OpenCV視頻處理入門

視頻處理基礎&#xff1a;掌握OpenCV視頻操作 學習目標 通過本課程&#xff0c;學員們將學習如何使用Python和OpenCV庫來處理視頻文件&#xff0c;包括讀取視頻、捕獲攝像頭視頻流、處理視頻幀以及保存處理后的視頻&#xff0c;同時&#xff0c;能夠獨立完成基本的視頻處理任務…

AI 賦能 Java 開發效率:全流程痛點解決與實踐案例(四)

文檔與注釋自動化&#xff1a;從 “手動撰寫” 到 “實時同步”&#xff0c;降低維護成本 &#x1f4c4; Java 開發強調 “文檔先行”&#xff0c;Javadoc 注釋、架構文檔、接口文檔是項目維護的重要資產。但手動撰寫文檔存在兩大痛點&#xff1a;一是耗時&#xff08;開發者平…

【機器學習學習筆記】pandas基礎

零基礎入門 Pandas&#xff1a;數據處理的 "萬能工具"如果你是剛接觸數據分析的小白&#xff0c;一定聽過 "Pandas" 這個名字。簡單說&#xff0c;Pandas 是 Python 中專門用來處理數據的工具庫&#xff0c;就像 Excel 的 "高級版"—— 能更快、…

(Mysql)MVCC、Redo Log 與 Undo Log

1. MVCC&#xff08;多版本并發控制&#xff09;概念 MVCC&#xff08;Multi-Version Concurrency Control&#xff09;是一種數據庫并發控制機制&#xff0c;用于解決 讀寫沖突&#xff0c;提高數據庫并發性能。MySQL InnoDB 存儲引擎使用 MVCC 來實現 非阻塞讀&#xff08;即…

OpenCV-Python Tutorial : A Candy from Official Main Page(五)

4.5FAST Algorithm for Corner Detection 4.5.1FAST算法 我們已了解多種特征檢測器&#xff0c;其中許多效果出色。但從實時應用的角度來看&#xff0c;它們的速度仍不夠快。一個典型例子是計算資源有限的SLAM&#xff08;同步定位與建圖&#xff09;移動機器人。 為解決此問…

LINUX 91 SHELL:刪除空文件夾 計數

問題 [rootweb ~]# find -type f -exec echo "file:{}" $path; find: 遺漏“-exec”的參數 您在 /var/spool/mail/root 中有郵件[rootweb ~]# $path/root -bash: /root: 沒有那個文件或目錄 您在 /var/spool/mail/root 中有新郵件 [rootweb ~]# path/root [rootweb ~…