Shell脚本检查工具ShellCheck介绍

电子说

1.3w人已加入

描述

ShellCheck是一个用于bash/sh shell脚本的静态分析工具,可以辅助检查脚本语法错误,给出建议增强脚本健壮性。

作者创建了一个在线网站 https://www.shellcheck.net/ ,你可以直接将代码贴到编辑框中进行在线检查。

vscode

当然你也可以将工具部署到本地计算机使用。

本地部署

联网安装

最简单的方式是使用包管理器安装。基本上各种平台都能直接安装,比如笔者的archlinux机器:

 

$ sudo pacman -S shellcheck

 

安装成功后,测试脚本

 

$ shellcheck test.sh

 

离线安装

在Github上直接下载对应平台预编译好的可执行文件,解压缩到本地即可使用。

vscode

代码编辑器集成

可以根据官方说明安装VIM、VSCODE等编辑器插件直接在编译器中使用。

使用示例

示例一

 

$ cat test.sh 
#!/bin/bash

cat $0

for i in {1..10}
do
        echo $i
done
$ shellcheck test.sh 

 

shellcheck输出内容如下:

vscode

可以看出,shellcheck使用的关键字是info,说明脚本本身没有语法错误,但给出了一些建议使脚本更加健壮。

示例二

再看一个包含警告和错误的脚本。

 

$ cat test1.sh
#!/bin/bash

var1= 42
var2 = 70
echo $(($var1+$var2))

$ shellcheck test1.sh

 

shellcheck输出内容如下:

vscode

首先是warning信息,第3行变量赋值有一个空格,实际上是不对的。

第4行给出error信息,变量与=之间不能有空格,语法错误。

第5行意图是输出两个变量的和,但(())内变量不需要使用$符合。







审核编辑:刘清

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分