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收录和巡查时,该网页上的内容,都属于合规合法,后期网页的内容如出现违规,可以直接联系网站管理员进行删除,商娱网不承担任何责任。
相关导航
中国制霸生成器,中国三十四省级行政区域制霸标记生成工具,中国制霸,全球制霸,神奇海螺试验场,卜卜口
会译
会译 是一款浏览器插件,采用AI智能翻译,支持多语种对照式翻译,在线翻译,文档翻译,英汉互译、智能识别网页内容,降低语言障碍门槛。

CloudConvert 云转换
文件转换器服务 - 支持 200 多种不同的音频、视频、文档、电子书、存档、图像、电子表格和演示格式。
OnWorks Free hosting provider for Linux online
OnWorks 是一个免费的托管运行 Linux Mint 在线服务器,需要在 Chrome 浏览器中安装 Linux Mint 在线服务器插件,是可以基于多种操作系统,例如:CentOS、Fedora、Ubuntu 和 Debian 等等,是一个多操作系统平台,可以从任何地方运行和测试任何类型的操作系统。简单、功能齐全、轻便且易使用。
HereAfter AI 保存你爱的人的故事
创建您的免费 Life Story Avatar——世界上最先进的保存家族历史的方法。 记录回忆并分享照片。 通过询问交互式应用程序来听到他们的声音。 你跟它说话,它就会回嘴!

在线打字测试
本站无需注册,直接输入用户名即可进行在线打字测试。并可以随时查看历史打字速度和排名!本站可进行英文键位练习,英文打字测试,中文打字测试,并且有在线排名,可自定义文章哦。赶快测测你的打字有多快吧!
Memo Card
Memo Card 可以帮你生成精美的文字卡片,可应用于你日常书摘、笔记、备忘等内容的分享。
Waifu Labs
一个最先进的人工智能,可以为你画出定制的动漫肖像!这个机器学习的艺术家能找出你的喜好,并在4个简单的步骤中创造出完美的人物插图。这个机器学习艺术家弄清了你的喜好,并在4个简单的步骤中创造了一个完美的角色插图。如果这听起来像魔术,那是因为它是!你可以在这里找到你想要的。
暂无评论...

