shellcheck - 一个免费实用程序,用于在shell脚本中找到错误
时间:2020-03-21 11:47:11 来源:igfitidea点击:
ShellCheck将分析shell脚本,并立即显示shell脚本中是否存在任何错误。
它是用Haskell语言编写的,并在GPLv3下自由分布。
ShellCheck将分析脚本并执行以下操作:
- 检查引用不正确,
- 检查测试语句不正确,
- 识别不正确的命令,
- 识别语法错误,
- 建议你提高剧本的风格,
- 识别错字,
- 提高脚本的稳健性,
- 并检查其他一些问题。
我们不需要任何专家的帮助来纠正脚本中的错误。
只需打开shellcheck,粘贴脚本和繁荣!我们可以在线或者脱机使用shellcheck。
shell 检查在网上
我们可以通过访问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版),运行以下命令:
$sudo zypper in ShellCheck
对于其他分布,请选中官方安装页面。
在Linux上使用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中复制/粘贴代码并立即查找错误。