
Shellcheck 是一个静态 Bash 语法检查工具,它可以在多种场景下使用,包括在线使用、命令行检查、编辑器配置。
当你在 Linux / Unix 平台下编写 Bash Shell 编译大量代码的时候,常常会花费大量的时间,然而这时你可以通过 Shellcheck 提前知道你所写脚本的语法问题,同样也会给出你相关纠错提示。

除了在线使用之外,还可以通过命令行进行检查,支持基于 Debian、Arch Linux、EPEL、Fedora、FreeBSD、MacOS、OpenSUSE、Windows 等多个操作系统上进行安装检查;
对于 Shellcheck 命令行的安装方式,可以参考 Shellcheck 的 GitHub 库。
脚本案例:
#!/bin/bash
DIRPATH='/tmp/jstack'
CURRENT_TIME=$(date +'%F'-'%H:%M:%S')
if [ ! -d "$DIRPATH" ];then
mkdir "$DIRPATH"
else
rm -rf "$DIRPATH"/*
fi
cd "$DIRPATH"
while true
do
sleep 3600
# 这里需要将inceptor改后自己的java进程名称
pid=$(ps -ef | grep 'inceptor' | grep -v grep | awk '{print $2}')
jstack $pid >> "jstack_${CURRENT_TIME}"
dir_count=$(ls | wc -l)
if [ "$dir_count" -gt 10 ];then
rm -f $(ls -tr | head -1)
fi
done
Shellcheck 检查输出结果:
$ shellcheck myscript
Line 10:
rm -rf "$DIRPATH"/*
^-- SC2115 (warning): Use "${var:?}" to ensure this never expands to /* .
Line 13:
cd "$DIRPATH"
^-- SC2164 (warning): Use 'cd ... || exit' or 'cd ... || return' in case cd fails.
Did you mean: (apply this, apply all SC2164)
cd "$DIRPATH" || exit
Line 19:
pid=$(ps -ef | grep 'inceptor' | grep -v grep | awk '{print $2}')
^-- SC2009 (info): Consider using pgrep instead of grepping ps output.
Line 20:
jstack $pid >> "jstack_${CURRENT_TIME}"
^-- SC2086 (info): Double quote to prevent globbing and word splitting.
Did you mean: (apply this, apply all SC2086)
jstack "$pid" >> "jstack_${CURRENT_TIME}"
Line 21:
dir_count=$(ls | wc -l)
^-- SC2012 (info): Use find instead of ls to better handle non-alphanumeric filenames.
Line 23:
rm -f $(ls -tr | head -1)
^-- SC2046 (warning): Quote this to prevent word splitting.
^-- SC2012 (info): Use find instead of ls to better handle non-alphanumeric filenames.
$
Shellcheck 在线使用地址:
https://www.shellcheck.net/#
Shellcheck GitHub 地址:
https://github.com/koalaman/shellcheck
数据统计
数据评估
关于(ShellCheck – shell script analysis tool)特别声明
本站商娱网提供的ShellCheck – shell script analysis tool都来源于网络,不保证外部链接的准确性和完整性,同时,对于该外部链接的指向,不由商娱网实际控制,在2022-01-07 13:58收录和巡查时,该网页上的内容,都属于合规合法,后期网页的内容如出现违规,可以直接联系网站管理员进行删除,商娱网不承担任何责任。
相关导航

使用MatterChart交互式浏览元素周期表。发现元素属性、可视化及其组成。非常适合学生、教育工作者和爱好者。

dreamlike.art
dreamlike.art 通过稳定扩散探索并制作令人惊叹的AI生成艺术!无限的可能性,大量的功能,方便的用户界面,所有这些都以一个合理的价格提供了一个慷慨的免费层。

考拉解析
考拉解析支持在线去除抖音、快手、火山、西瓜、头条、微视、皮皮虾、TikTok、最右、微博等100多个平台的水印获取无水印视频链接,并且同时支持电脑和手机端在线下载。最好用的短视频在线去水印网站就在考拉解析。

PDFdo.com
PDFdo提供全套的PDF转换操作,一站式服务,在线转换PDF永久免费,可是实现各种PDF解密去除限制、各种PDF转换、PDF旋转页面、PDF删除页面、提取PDF页面、PDF拼接页面、PDF删除文字、PDF替换文字、PDF添加水印等功能。

快下载-在线视频解析工具
快下载是在线视频解析工具,轻松去短视频水印,只需要输入视频网址开始。超过50种解析...

AirPano
AirPano是一个由俄罗斯摄影师团队创建的项目,专注于拍摄高分辨率的空中360°照片和360°视频。今天,AirPano是从地理覆盖范围、航拍照片数量、图像艺术和技术质量来看世界上最大的资源媒体库,从鸟瞰的角度拍摄、制作、提供360°全景和360°视频和最高清质量的照片

fir.im 免费应用内测托管平台|iOS应用Beta测试分发|Android应用内测分发
fir.im 为开发者提供测试应用极速发布,应用崩溃实时分析、用户反馈收集等一系列开发测试效率工具服务,帮助开发者将更多精力放在产品的开发与应用的优化上。

Avatar Maker
使用我们免费的在线头像制作工具创建您的个性化头像。自定义功能,下载PNG或SVG格式,并在线分享您的独特外观。
暂无评论...