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文章
7857浏览量
93649 -
Shell
+关注
关注
1文章
376浏览量
25567 -
vscode
+关注
关注
1文章
174浏览量
9326
原文标题:Shell脚本检查工具ShellCheck
文章出处:【微信号:ExASIC,微信公众号:ExASIC】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
Linux Shell文本处理神器合集:15个工具+实战例子,效率直接翻倍
无图形界面模式下自定义检查工具的应用
【瑞萨RA6E2】1.使用串口shell点亮LED灯
【EASY EAI Nano-TB(RV1126B)开发板试用】命令行功能测试-shell脚本进行IO控制-红绿灯项目-实现开机起动
【EASY EAI Nano-TB(RV1126B)开发板试用】命令行功能测试-shell脚本进行IO控制-红绿灯按钮项目
关于系统链接脚本的介绍
【技术分享】正确编写SysV Init脚本以实现Systemd兼容(上)
shell基本介绍及常用命令之shell基本介绍
LuatOS脚本开发入门:嵌入式运行框架全解析!
Shell脚本检查工具ShellCheck介绍
评论