Shell 腳本通常包含難以手動發現的細微錯誤和可移植性問題。本技能提供綜合指導,說明如何配置和使用 ShellCheck 來自動檢測和修復 Shell 腳本問題。
下載技能 ZIP
在 Claude 中上傳
前往 設定 → 功能 → 技能 → 上傳技能
開啟並開始使用
測試它
正在使用「shellcheck-configuration」。 如何修復 SC2086:for i in $list; do echo $i; done
預期結果:
SC2086 警告未引用的變數會導致單詞分割。修復:對變數使用 "$list" 或對陣列使用 "${list[@]}"。修正後:for i in "$list"; do echo "$i"; done
正在使用「shellcheck-configuration」。 為嚴格 Bash 驗證建立 .shellcheckrc
預期結果:
配置設置 shell=bash,啟用可選檢查如 require-variable-braces,並停用 SC1091(未找到來源文件)作為專案預設。
正在使用「shellcheck-configuration」。 最常見的 ShellCheck 錯誤有哪些需要修復?
預期結果:
前 5 名:SC2086(未引用變數)、SC1091(來源文件)、SC2154(未設置變數)、SC2148(提示)、SC2164(使用 cd 時加上 || exit)。技能中詳細說明每項的特定修復方法。
安全審計
安全All 111 static findings are false positives. The skill contains shell command examples used to demonstrate ShellCheck error codes (SC2086, SC1091, etc.). The scanner misidentified 'SC' as 'C2' keywords. URLs point to legitimate ShellCheck project resources. References to ~/.shellcheckrc and ~/.bashrc are standard config file paths, not malicious file access. The skill is purely educational documentation for ShellCheck static analysis tool.
高風險問題 (1)
中風險問題 (3)
低風險問題 (1)
品質評分
你能建構什麼
DevOps 工程師:CI/CD 流程設置
在 GitHub Actions、GitLab CI 或其他 CI/CD 系統中設置自動化 Shell 腳本檢查,在部署前捕捉問題。
軟體開發人員:腳本品質改進
使用 ShellCheck 指導修復現有 Shell 腳本錯誤並提高跨不同 Unix/Linux 環境的可移植性。
系統管理員:團隊代碼標準
透過專案層級配置和 pre-commit 驗證,在團隊腳本中執行一致的代碼品質標準。
試試這些提示
如何在 macOS、Ubuntu 或從原始碼安裝 ShellCheck?
ShellCheck 錯誤 SC2086 是什麼意思,我如何在腳本中修復它?
為 Bash 專案建立 .shellcheckrc 配置文件,啟用嚴格檢查但停用 SC1091 和 SC2119。
展示如何將 ShellCheck 整合到 GitHub Actions 工作流程中,檢查所有 .sh 文件並在發現任何問題時使建構失敗。
最佳實務
- 在 CI/CD 流程中執行 ShellCheck 以在合併前捕捉問題
- 正確配置目標 shell - 不要將 Bash 腳本分析為 POSIX sh
- 使用行內指令記錄為什麼停用特定警告
避免
- 在不理解警告出現原因的情況下停用警告
- 對錯誤的 shell 方言進行分析(將 Bash 視為 sh)
- 忽略 ShellCheck 輸出而不解決根本問題