ShellCheck是一個用于bash/sh shell腳本的靜態(tài)分析工具,可以輔助檢查腳本語法錯誤,給出建議增強腳本健壯性。
作者創(chuàng)建了一個在線網(wǎng)站 https://www.shellcheck.net/ ,你可以直接將代碼貼到編輯框中進行在線檢查。

當(dāng)然你也可以將工具部署到本地計算機使用。
本地部署
聯(lián)網(wǎng)安裝
最簡單的方式是使用包管理器安裝?;旧细鞣N平臺都能直接安裝,比如筆者的archlinux機器:
$sudopacman-Sshellcheck
安裝成功后,測試腳本
$shellchecktest.sh
離線安裝
在Github上直接下載對應(yīng)平臺預(yù)編譯好的可執(zhí)行文件,解壓縮到本地即可使用。

代碼編輯器集成
可以根據(jù)官方說明安裝VIM、VSCODE等編輯器插件直接在編譯器中使用。
使用示例
示例一
$cattest.sh
#!/bin/bash
cat$0
foriin{1..10}
do
echo$i
done
$shellchecktest.sh
shellcheck輸出內(nèi)容如下:

可以看出,shellcheck使用的關(guān)鍵字是info,說明腳本本身沒有語法錯誤,但給出了一些建議使腳本更加健壯。
示例二
再看一個包含警告和錯誤的腳本。
$cattest1.sh #!/bin/bash var1=42 var2=70 echo$(($var1+$var2)) $shellchecktest1.sh
shellcheck輸出內(nèi)容如下:

首先是warning信息,第3行變量賦值有一個空格,實際上是不對的。
第4行給出error信息,變量與=之間不能有空格,語法錯誤。
第5行意圖是輸出兩個變量的和,但(())內(nèi)變量不需要使用$符合。
審核編輯:劉清
-
計算機
+關(guān)注
關(guān)注
19文章
7835瀏覽量
93435 -
Shell
+關(guān)注
關(guān)注
1文章
375瀏覽量
25480 -
vscode
+關(guān)注
關(guān)注
1文章
173瀏覽量
9256
原文標(biāo)題:Shell腳本檢查工具ShellCheck
文章出處:【微信號:ExASIC,微信公眾號:ExASIC】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
Linux Shell文本處理神器合集:15個工具+實戰(zhàn)例子,效率直接翻倍
無圖形界面模式下自定義檢查工具的應(yīng)用
【瑞薩RA6E2】1.使用串口shell點亮LED燈
【EASY EAI Nano-TB(RV1126B)開發(fā)板試用】命令行功能測試-shell腳本進行IO控制-紅綠燈項目-實現(xiàn)開機起動
關(guān)于系統(tǒng)鏈接腳本的介紹
【技術(shù)分享】正確編寫SysV Init腳本以實現(xiàn)Systemd兼容(上)
shell基本介紹及常用命令之shell基本介紹
怎樣確保自動化工具在電能質(zhì)量在線監(jiān)測裝置的安全防護檢查中的準(zhǔn)確性?
harmony-utils之TypeUtil,類型檢查工具類
Shell腳本入門指南
【米爾-RK3562開發(fā)板試用評測】命令行功能測試-shell腳本進行IO控制-(綠色)RUN 燈、(紅色)User燈
概倫電子先進電路檢查分析平臺工具NanoSpice CCK介紹
Shell腳本檢查工具ShellCheck介紹
評論