分類scripting
60 篇
-
Bash 完整功能的 CLI 工具開發
許多 Linux 使用者認為 Bash 僅能用來寫簡單的自動化腳本,但事實上,透過善用 Bash 的內建特性與標準工具鏈,我們能開發出結構嚴謹、錯誤處理完善的專業級 CLI(Command Line Interface)工具…
閱讀全文 → -
Shell 腳本的持續整合實踐
在現代軟體開發流程中,持續整合(Continuous Integration, CI)已成為確保程式碼品質與部署穩定性的關鍵環節。雖然 Jenkins、GitLab CI 或 GitHub Actions 等工具提供了強大的圖形化介面,但…
閱讀全文 → -
用 Bash 實作簡單的 cron 監控器
在 Linux 系統管理的世界裡, 無疑是最常用的排程工具。無論是定時備份資料庫、清理暫存檔案,還是定期執行資料同步,我們都依賴它來確保任務按時執行。然而,一個常見的痛點是:當 cron 任務…
閱讀全文 → -
Shell 腳本的效能優化技巧
在日常的系統管理與自動化工作中,Shell 腳本無疑是最強大的工具之一。然而,許多初學者撰寫的腳本往往因為缺乏效能意識,導致在處理大量資料或高頻率任務時變得遲緩。對於 sysadmin 而言,一…
閱讀全文 → -
用 Bash 解析 YAML 設定
在 Linux 系統管理與自動化腳本開發中,我們經常需要讀取外部設定檔。雖然 JSON 和 INI 格式在 Shell 中處理相對容易,但 YAML 因其可讀性高、支援巢狀結構及註解功能,成為現代配置管理(如 K…
閱讀全文 → -
Shell 腳本中的模組化設計
在初學 Shell 腳本時,我們往往習慣將所有邏輯寫在單一檔案中,隨著功能增加,腳本會變得冗長且難以維護。這就像是在一個巨大的義大利麵(Spaghetti Code)中尋找特定邏輯一樣困難。對於經常處…
閱讀全文 → -
寫一個 MySQL 自動備份與清理腳本
在日常的系統管理工作中,數據就是資產。對於運行 MySQL 資料庫的伺服器而言,定期備份不僅是災難恢復的最後一道防線,更是確保業務連續性的關鍵。雖然許多圖形化工具或雲端服務提供了備份選項…
閱讀全文 → -
Bash 中的關聯陣列(Associative Array)
在 Bash 腳本開發中,陣列(Array)是最常用的資料結構之一。然而,傳統的 Bash 陣列僅支援基於整數索引的存取,這意味著我們無法直接使用字串鍵(Key)來查找對應的值。當我們需要處理類似資…
閱讀全文 → -
用 Shell 腳本管理 Docker 容器
在日常的系統管理與開發工作中,我們經常需要重複執行 Docker 容器的建立、啟動、停止或清理工作。雖然 指令本身已經相當強大,但透過 Shell 腳本將這些操作自動化,不僅能減少人為錯誤,更能…
閱讀全文 → -
Bash 的 extglob 擴展 glob 模式
在 Linux 的日常操作中,我們經常需要處理檔案與目錄的過濾。對於初學者而言,基本的 glob 模式(如 或 )已經足夠應付大多數情境。然而,當需求變得複雜,例如「排除特定副檔名」或「匹配多個…
閱讀全文 → -
Shell 腳本中的網路操作技巧
在日常系統管理與自動化任務中,Shell 腳本往往需要與網路進行互動。無論是檢查服務狀態、下載檔案、監控連線品質,還是透過 API 獲取資訊,掌握 Shell 中的網路操作技巧都是提升工作效率的關…
閱讀全文 → -
用 Bash 實作 retry 重試機制
在自動化運維或網路程式開發中,我們經常面臨一個常見挑戰:目標服務(如 API、資料庫或遠端伺服器)可能因為暫時性的網路波動、資源暫缺或維護而無法立即回應。如果腳本直接失敗退出,不僅會…
閱讀全文 →