一个好用的vim插件----shellcheck安装

今天在公众号推送中发现了一个挺好的vim编辑器插件:shellcheck

shellcheck 是一款实用的 shell脚本静态检查工具。
首先,可以帮助你提前发现并修复简单的语法错误,节约时间。每次都需要运行才发现写错了一个小地方,确实非常浪费时间。
其次,可以针对你当前不够完善不够健壮的写法,提供建议,帮助你提前绕开一些坑,避免等问题真的发生了才去调试处理。
在其介绍中,目标是针对所有用户的,从初学者到高手,都用得上
指出并澄清典型的初学者的语法问题,那通常会shell提供神秘的错误消息。
指出并澄清典型的中级的语义问题,这些问题会导致shell出现奇怪且反直觉的行为。
指出可能导致高级用户的脚本中,可能在未来某种情况下失败的陷阱。

在网页使用最简单,只要打开 https://www.shellcheck.net ,贴入你的脚本,运行检查功能即可。

如果不想每次把自己的代码复制粘贴到网页这么麻烦,也可以在系统中直接安装shellcheck软件
shellcheck官方安装说明
官方推荐的第一种安装方法是sudo apt install shellcheck, 需要root或sudo权限,很遗憾,我都没有。。。
好在官方还提供了编译好的版本,下载解压就可以使用
例如,我用的是linux系统,对应的链接是shellcheck for Linux, x86_64 (其他操作系统的版本也都可以从官网下载)
下载完成后,用tar -xf **.tar.xz命令解压,然后

cd shellcheck-stable/
ls
#有如下3个文件:最后面的shellcheck是可执行文件
LICENSE.txt  README.txt  shellcheck

为了使用方便,把shellcheck所在的路径添加到$PATH中,就可以通过 shellcheck *.sh命令对shell脚本进行分析了,例如:

source ~/.bashrc
shellcheck wes.sh

给的提示信息如下图:
有错误所在的行号和该行内容,还有修改提示!
不同程度的提示信息还有颜色分级!!


image.png

到这里其实shellcheck的功能已经都体现出来了,不过嘛~~如果能集成到 vim编辑器中,一边写代码一边就能看到提示岂不是更好,可以在第一时间发现并修复bug。

Vim 通过 ALE, Neomake 或 Syntastic 进行集成
Emacs 通过 Flycheck 或 Flymake 集成
Sublime 通过 SublimeLinter.
Atom 通过 Linter.
VSCode 通过 vscode-shellcheck.

我自己在服务器上使用的编辑器是vim, 版本是8.0(可以通过vim --version 命令查看版本)
使用ALE进行集成:
ALE官网提示,vim 8.0及以上版本安装方法为:

mkdir -p ~/.vim/pack/git-plugins/start
git clone --depth 1 https://github.com/dense-analysis/ale.git ~/.vim/pack/git-plugins/start/ale

只需要简单的2个步骤,ALE工具就装好了。
现在随便打开一个shell文件,可以看到在一些行左侧会有高亮的--提示,而且最下方会有相应的提示(如下图红框中文字)


image.png

好了,以后写代码就有了一个随时帮我检查语法错误的小助手~~
over!

你可能感兴趣的:(一个好用的vim插件----shellcheck安装)