跳至主要內容
CJCJ Kuo

全站文章搜尋

輸入關鍵字即刻在靜態索引中快速搜尋
↑↓ 導航 · Enter 選取前往獨立搜尋頁 →
標籤總覽/當前標籤

#Shell 腳本(16 篇)

收錄全站所有標註「#Shell 腳本」的系列文章,依發布時間降序排列。

Shell CLI 達成 HMAC SHA256 加密

撰寫自動化 Shell 腳本串接交易所或金流 API 時,常常需要生成簽章。本文教你免寫 Python 程式,直接使用 Linux 內建的 OpenSSL 終端指令快速完成 HMAC-SHA256 雜湊運算與 Base64 編碼。

SC1087 在 Shell Scrpit 正確宣告陣列函數

解析Shell腳本靜態檢查工具常見的SC1087語法錯誤,說明讀取陣列變數時因缺少大括號導致的解析異常,並示範正確的陣列變數引用方式與撰寫建議,提升腳本穩定度。

使用 Systemd 開機自動執行腳本,棄用 rc.local

教學如何使用Systemd取代已被廢除的開機執行設定檔,撰寫客製化服務單元設定開機自動執行Shell腳本,不僅配置結構清晰且支援完整系統日誌追蹤,大幅提升開機排錯效率。

SC2126 建議使用 grep -c代替 grep | wc

深入解析 ShellCheck SC2126 警告原因與重構技巧。說明為何在 Shell 腳本中應以 grep -c 取代 grep 搭配 wc -l 管道計數,減少不必要的行程建立開銷,並提升程式碼效能與可讀性。

SC2028 echo 不會轉義特殊字元應使用 printf。

解析 ShellCheck SC2028 靜態分析警告。說明在 Shell 腳本中處理換行與定位點等特殊跳脫字元時,為何應優先使用標準 printf 代替 echo,避免跨平台與不同環境下的轉義解析相容性問題。

SC2004 Shell 計算參數值時無須代入 $ / $ {}

探討 ShellCheck SC2004 規則要點。在 Bash 算術展開語法中,變數名稱無須加上金錢符號或大括號,直接代入變數不僅讓語法更加簡潔,更能避免字串展開造成的算術運算優先權計算偏差。

利用 AWK 排除重複或過濾新增

介紹如何在 Linux 環境下善用 AWK 強大語法比對兩個大型文字檔案。透過 NR 與 FNR 條件判斷快速篩選出兩份文件中的重複資料或差集成員,省去撰寫複雜迴圈的開銷,大幅提升資料清洗效率。

取得當前 shell Script 路徑及檔名

介紹在 Bash 腳本中透過內建變數 BASH_SOURCE 精準取得當前腳本檔案名稱與所在路徑的實用技巧。便於在自動化腳本內部實現自我雜湊校驗、相對路徑動態引用或跨主機版本更新比對機制。

利用 trap 執行所有 Bash 退出前該做的事情

介紹如何在 Linux Bash 腳本中使用 trap 指令監聽系統訊號。透過攔截中斷信號或退出事件,確保腳本結束前能確實清理暫存檔案與釋放系統資源,大幅提升自動化維運腳本的健壯性與安全性。

安全快速建立暫存檔案及暫存目錄 Shell Script

探討在 Shell 腳本中隨意使用固定暫存檔名的安全風險,並教學如何使用系統內建的 mktemp 指令隨機建立安全的暫存檔案與目錄。透過專屬路徑與權限控管,有效防範檔案覆寫衝突與潛在惡意攻擊。

Shell Script 大量字串組合超高效率的方式

處理數萬筆 IP 或日誌資料時,傳統 Shell 變數迴圈字串拼接會導致效能低落下載卡頓。本文分享改用 paste 與 tr 等串流指令進行大量字串快速合併的高效實務解法,將數分鐘運算耗時縮短至數秒完成。

IF 條件判斷式,簡單明瞭的表列式整理

系統整理 Linux Shell 腳本中 if 條件判斷式的語法架構與常用判斷參數。包含數值比較、字串比對、檔案存在性與讀寫權限等測試運算子,搭配簡潔明瞭的表列範例,是撰寫自動化腳本的速查指南。

Shell 手動執行成功,排程失敗

深入排查 Shell 腳本在終端手動執行成功但在 Crontab 排程中卻失敗的常見成因。剖析非登入環境與預設環境變數缺失問題,並提供在排程中引入環境設定檔或使用絕對路徑的具體解決方案。