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收录和巡查时,该网页上的内容,都属于合规合法,后期网页的内容如出现违规,可以直接联系网站管理员进行删除,商娱网不承担任何责任。
相关导航
琅琅配音是一款免费的文本转语音工具,提供语音合成服务,支持多种语言,包括中文、英语、德语、法语、意大利语、西班牙语、印尼语等30多种语言,以及多种语音风格。您可以用它制作视频配音,也可用于有声书朗读,或下载音频文件用于商业用途(完全免费)
Media.io
Media.io 使用我们的视频、音频和图像一体式在线媒体处理工具,解锁人工智能的力量。非常适合内容创作者,我们的工具包括视频编辑器、对象去除器和降噪器等高级功能,可以轻松增强您的媒体。今天就试试我们的人工智能工具,体验创意编辑的未来!
全向计算器
Omni Calculator 解决了从金融和商业到健康的 2736 个问题。 它是如此快速和简单,你不会想再做数学了!
智能抠图
上传图片,立即获得背景移除效果,免费高效的 AI 抠图工具!
Tune My Music
将播放列表从任意音乐平台转移到任意其他音乐平台!包括Spotify,Apple Music,Deezer,YouTube,Google Play Music,TIDAL等等!

轻快标图
轻快标图-提供丰富的标注工具,实现轻量、便捷、美观的图片标注体验。一键导出高清图片,适用于网页、浏览器插件及APP。立即免费试用!
秘塔写作猫
秘塔写作猫是新一代AI写作伴侣,帮你推敲用语、斟酌文法、改写文风,还能实时同步翻译。

划词翻译
划词翻译是一款安装在桌面端浏览器里的扩展程序。当你在网页中划选一段文本之后,划词翻译会为你显示这段文本在多个翻译服务中的翻译结果,你可以很轻松的对比、复制翻译结果。
暂无评论...

