ShellCheck可以幫助用戶快速分析語法錯誤,直接將項目輸入到軟件就可以執行分析,可以在軟件顯示錯誤的內容,讓開發人員及時檢測shell腳本內容是否正確,從而判斷項目是否可以應用,軟件可以識別多種錯誤內容,包括未加引號的變量、加引號的查找/ grep模式、帶引號的波浪號擴展、變量文字的報價、過早擴大陷阱、常數測試表達式、缺少空格、正則表達錯誤、字符串錯誤、運算符錯誤、數組缺少、錯誤間接分配、循環變量錯誤,大部分初學者的語法錯誤問題都可以在軟件找到,并且還會給出修改建議,方便用戶立即修改錯誤的語法!
ShellCheck軟件功能
ShellCheck是Lv3工具,可為bash / sh shell腳本提供警告和建議:
ShellCheck的目標是:
指出并弄清楚典型的初學者的語法問題,這些問題會導致shell發出錯誤的錯誤消息。
指出并弄清楚典型的中級語義問題,這些問題會導致外殼的行為異常和違反直覺。
指出可能在將來的情況下導致高級用戶的其他正常工作腳本失敗的細微警告,陷阱和陷阱。
ShellCheck軟件特色
1、ShellCheck可以幫助用戶快速找到語法錯誤
2、可以立即分析你的項目語法,找到shell錯誤內容
3、在軟件顯示修改建議,方便修改錯誤的
4、可以檢測數組錯誤,可以檢測數據錯誤
5、可以分析空格錯誤,可以分析函數錯誤
6、大部分的shell錯誤內容都可以通過這款軟件快速找到
ShellCheck教程
如何使用
有多種使用ShellCheck的方法!
在網上
將外殼程序腳本粘貼到https://www.shellcheck.net上以獲得即時反饋。
ShellCheck.net始終與最新的git commit同步,并且是讓ShellCheck通過的最簡單方法。告訴你的朋友!
從您的終端
shellcheck yourscpt如上所示,在您的終端中運行以立即輸出。
在您的編輯器中
您可以直接在各種編輯器中查看ShellCheck建議。
Vim,通過ALE,Neomake或Syntastic:
Emacs,通過Flycheck或Flymake:
通過SublimeLinter進行Sublime 。
Atom,通過Linter。
VSCode,通過vscode-shellcheck。
其他大多數編輯器,都是通過GCC錯誤兼容的。
在您的構建或測試套件中
盡管ShellCheck主要用于交互式使用,但可以輕松地將其添加到內部版本或測試套件中。它規范地使用了退出代碼,因此您只需shellcheck在過程中添加一條命令即可。
例如,在Makefile中:
或在Travis CI.travis.yml文件中:
預先安裝了ShellCheck并可以使用的服務和平臺:
帶有第三方插件的服務和平臺:
Travis CI
Codacy
Code Climate
Code Factor
CircleCI via the ShellCheck Orb
Github (only Linux)
SonarQube通過聲納-shellcheck-plugin
包括GitLab在內的大多數其他服務,都可以通過系統的程序包管理器(請參閱“安裝”),也可以通過下載和解壓縮二進制發行版自己安裝ShellCheck 。
最好手動安裝特定的ShellCheck版本。這樣可以避免在發布帶有新警告的新版本時出現任何意外的構建中斷。
對于自定義的過濾或報告,ShellCheck可以輸出簡單的ON,與CheckStyle兼容的XML,與GCC兼容的警告以及人類可讀的文本(帶有或不帶有ANSI顏色)
錯誤代碼庫
那么,ShellCheck會尋找什么樣的東西?這是檢測到的問題的不完整列表。
報價單
ShellCheck可以識別幾種類型的錯誤報價:
有條件的
ShellCheck可以識別許多類型的錯誤測試。
經常被濫用的命令
ShellCheck可以識別錯誤使用命令的實例:
常見的初學者錯誤
ShellCheck可以識別許多常見的初學者語法錯誤:
風格
ShellCheck可以提出改進樣式的建議:
數據和輸入錯誤
ShellCheck可以識別與數據和類型相關的問題
堅固
ShellCheck可以提出一些建議來提高腳本的健壯:
可移植
當使用shebang不支持的功能時,ShellCheck將發出警告。例如,如果將shebang設置為#!/bin/sh,ShellCheck將警告類似于以下內容的可移植問題checkbashisms:
各種各樣的
ShellCheck認識到其他問題的存在: