ShellCheck是一個用于bash/sh shell腳本的靜態分析工具,可以輔助檢查腳本語法錯誤,給出建議增強腳本健壯性。
作者創建了一個在線網站 https://www.shellcheck.net/ ,你可以直接將代碼貼到編輯框中進行在線檢查。
當然你也可以將工具部署到本地計算機使用。
本地部署
聯網安裝
最簡單的方式是使用包管理器安裝。基本上各種平臺都能直接安裝,比如筆者的archlinux機器:
$sudopacman-Sshellcheck
安裝成功后,測試腳本
$shellchecktest.sh
離線安裝
在Github上直接下載對應平臺預編譯好的可執行文件,解壓縮到本地即可使用。
代碼編輯器集成
可以根據官方說明安裝VIM、VSCODE等編輯器插件直接在編譯器中使用。
使用示例
示例一
$cattest.sh #!/bin/bash cat$0 foriin{1..10} do echo$i done $shellchecktest.sh
shellcheck輸出內容如下:
可以看出,shellcheck使用的關鍵字是info,說明腳本本身沒有語法錯誤,但給出了一些建議使腳本更加健壯。
示例二
再看一個包含警告和錯誤的腳本。
$cattest1.sh #!/bin/bash var1=42 var2=70 echo$(($var1+$var2)) $shellchecktest1.sh
shellcheck輸出內容如下:
首先是warning信息,第3行變量賦值有一個空格,實際上是不對的。
第4行給出error信息,變量與=之間不能有空格,語法錯誤。
第5行意圖是輸出兩個變量的和,但(())內變量不需要使用$符合。
審核編輯:劉清
-
計算機
+關注
關注
19文章
7500瀏覽量
88017 -
Shell
+關注
關注
1文章
366瀏覽量
23386 -
vscode
+關注
關注
1文章
155瀏覽量
7719
原文標題:Shell腳本檢查工具ShellCheck
文章出處:【微信號:ExASIC,微信公眾號:ExASIC】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論