- A+
你刚刚编写了一个脚本并想检查它是否有任何错误,但你不知道如何?别担心!现在,您可以使用ShellCheck轻松找到shell脚本中的错误。ShellCheck是shell脚本的静态分析工具。如果您的shell脚本中有任何错误,它会立即告诉您。它是用Haskell语言编写的,并在GPLv3下自由分发授权。
- 检查报价是否错误,
- 检查不正确的测试声明,
- 识别不正确的命令,
- 识别语法错误,
- 建议你改进剧本的风格,
- 承认拼写错误,
- 提高脚本的健壮性,
- 并检查其他一些问题。
您不需要任何专家的帮助来纠正脚本中的错误。只需打开ShellCheck,粘贴脚本即可!您可以在线或离线使用ShellCheck。在这个简短的教程中,我将向您展示这两个!
ShellCheck在网上
您可以访问ShellCheck网站查看在线任何脚本。
打开Web浏览器并转到以下链接。
将shell脚本粘贴到其中以获得即时反馈。
输出:
注意:我没有编写本例中使用的脚本。我刚在线发现它来测试ShellCheck。
或者,您可以将其安装在Linux机器上并随时在线下测试您的脚本。
在Linux上安装ShellCheck
ShellCheck适用于大多数Linux操作系统。您可以使用分发包管理器轻松安装它,如下所示。
在Arch Linux及其衍生产品上:
$ sudo pacman -S shellcheck
在Debian,Ubuntu,Linux Mint上,运行以下命令进行安装:
$ sudo apt-get install shellcheck
在RHEL上,CentOS启用EPEL存储库:
$ sudo yum -y install epel-release
并安装shellcheck:
$ sudo yum install ShellCheck
在Fedora系统上:
$ sudo dnf install ShellCheck
在openSUSE(Tumbleweed edition)上,运行以下命令:
$ sudo zypper in ShellCheck
对于其他发行版,请查看官方安装页面。
在你的Shell脚本中找到错误
安装后,打开终端并运行以下命令来测试脚本。
shellcheck <path_of_your_script>
例如:
$ shellcheck myscript.sh
输出:
In myscript.sh line 1: # This script displays the date, time, username and ^-- SC2148: Tips depend on target shell and yours is unknown. Add a shebang. In myscript.sh line 6: echo "Your username is: `whoami` \\n" ^-- SC2006: Use $(..) instead of legacy `..`. ^-- SC2028: echo won't expand escape sequences. Consider printf.
正如您在上面的输出中看到的,ShellCheck在第1行和第6行指出了建议。请注意,ShellCheck不会自动修复脚本中的错误。相反,它会为您的shell脚本提供警告和建议。此实用程序对于想要学习Shell脚本的新手脚本编写者非常有用。只需编写一个脚本,在ShellCheck中复制/粘贴代码,并在几分钟内使其无错误。试试看。你不会失望的。
相关资源:
- 安卓客户端下载
- 微信扫一扫
- 微信公众号
- 微信公众号扫一扫