了解ShellCheck
由于工作需要了解了下ShellCheck,觉得不错。ShellCheck可以检测并修复Shell中语法问题。这里Mark下。
安装
首先ShellCheck是跨平台的,支持多个系统,同时很多App也都集成了,多种方式下都可以使用。
直接网页使用-ShellCheck Web
Visual Studio Code插件ShellCheck
JetBrains内置插件Shell Script支持,不需要额外安装。实际测试觉得并不是完整版ShellCheck功能。
命令行安装
MacOS
brew install shellcheck
EPEL based distros
1
2sudo yum -y install epel-release
sudo yum install ShellCheck
完整安装方式见官方介绍
Shell支持
需要注意ShellCheck静态分析并不支持所有Shell。
支持
bash
,sh
,ksh
, andzsh
。不支持
fish
、tcsh
和csh
。对
zsh
和ksh
的支持仅限于与bash
兼容的地方。
功能
无论是手动触发还是自动触发,shellcheck的目的就是指出Shell中的语法错误。
Web端支持?
这里调研了下完全前端运行ShellCheck是否可行。
官方给出的Web例子本身是将Web输入的Shell发送到服务端执行的Shell Check。
完全的Web端运行,官方当前没有给予支持,但可以试试将Haskell转为WASM进行尝试,目前还无结论。
写在最后
对于日常编写Shell,推荐尝试在编辑器中安装该插件,可以避免一些Shell语法错误。