ShellCheck是一個(gè)用于bash/sh shell腳本的靜態(tài)分析工具,可以輔助檢查腳本語法錯(cuò)誤,給出建議增強(qiáng)腳本健壯性。
作者創(chuàng)建了一個(gè)在線網(wǎng)站 https://www.shellcheck.net/ ,你可以直接將代碼貼到編輯框中進(jìn)行在線檢查。
當(dāng)然你也可以將工具部署到本地計(jì)算機(jī)使用。
本地部署
聯(lián)網(wǎng)安裝
最簡(jiǎn)單的方式是使用包管理器安裝。基本上各種平臺(tái)都能直接安裝,比如筆者的archlinux機(jī)器:
$sudopacman-Sshellcheck
安裝成功后,測(cè)試腳本
$shellchecktest.sh
離線安裝
在Github上直接下載對(duì)應(yīng)平臺(tái)預(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,說明腳本本身沒有語法錯(cuò)誤,但給出了一些建議使腳本更加健壯。
示例二
再看一個(gè)包含警告和錯(cuò)誤的腳本。
$cattest1.sh #!/bin/bash var1=42 var2=70 echo$(($var1+$var2)) $shellchecktest1.sh
shellcheck輸出內(nèi)容如下:
首先是warning信息,第3行變量賦值有一個(gè)空格,實(shí)際上是不對(duì)的。
第4行給出error信息,變量與=之間不能有空格,語法錯(cuò)誤。
第5行意圖是輸出兩個(gè)變量的和,但(())內(nèi)變量不需要使用$符合。
審核編輯:劉清
-
計(jì)算機(jī)
+關(guān)注
關(guān)注
19文章
7547瀏覽量
88696 -
Shell
+關(guān)注
關(guān)注
1文章
366瀏覽量
23469 -
vscode
+關(guān)注
關(guān)注
1文章
157瀏覽量
7871
原文標(biāo)題:Shell腳本檢查工具ShellCheck
文章出處:【微信號(hào):ExASIC,微信公眾號(hào):ExASIC】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
腳本美化高手之輕松實(shí)現(xiàn)文本顏色和背景定制的酷炫Shell技巧
![<b class='flag-5'>腳本</b>美化高手之輕松實(shí)現(xiàn)文本顏色和背景定制的酷炫<b class='flag-5'>Shell</b>技巧](https://file1.elecfans.com/web3/M00/01/4E/wKgZO2dSZTyAGr4eAAAMNN8oZjs715.gif)
Linux從零到精通:最簡(jiǎn)單的Shell腳本入門教程
![Linux從零到精通:最簡(jiǎn)單的<b class='flag-5'>Shell</b><b class='flag-5'>腳本</b>入門教程](https://file1.elecfans.com/web3/M00/01/1E/wKgZPGdRCS2ACku7AAAiM7-x7u0394.png)
評(píng)論