Shell脚本神器(ShellCheck)

ShellCheck作用:

在编写Shell脚本时,经常会遇到语法错误执行逻辑低效,代码风格不规范的问题。但这款shellcheck工具就可以很好的解决这些问题,找到脚本中潜在的问题和错误并提供最佳实践的建议,使Shell脚本更加清晰可读性更高。

Shellcheck这个工具默认没有安装所以需要我们先安装一下,它的软件包是存放在epel源中的所以还要用公网仓库下载epel源进行安装

1.使用yum方式安装:

(1)安装下载epel源

root@shell \~# yum -y install epel-release.noarch

(2)安装shellcheck

root@shell \~# yum -y install ShellCheck

2.使用ShellCheck对之前写的脚本进行分析

(1)写一个简单的脚本进行测试

root@shell \~# vim status.sh

复制代码
#!/bin/bash
#这是一个监控nginx状态简单脚本
case $1 in
status)
systemctl status nginx >>/dev/null
if [ $? -eq  0 ];then
echo "1"
else
echo "0"
fi   
;;
pv)
curl=`curl -s 127.1.1.1/status |awk NR==3'{print $1}'`
$curl
;;
lianjie)
curl -s 127.1.1.1/status |awk NR==1'{print $3}'
;;
Esac		#故意将'esac'大写
(2)将刚写好的脚本进行分析

root@shell \~# shellcheck status.sh

执行完成后输出分析结果,会反馈出一些建议和问题。我们刚刚写的测试脚本还是简单一些的所以它给出的建议也不是很多,如果你的脚本要是有上百行的话那么它给出的建议会多一些,总体来说,shellcheck是一个比较强大的工具,可以帮助我们提高编写shell脚本的质量可读性和安全性。在编写shell脚本中可以说是非常有用的一个工具也可以称之问shell监本编写神器。

相关推荐
寒水馨5 小时前
Linux下载、安装llama.cpp-b10068(附安装包llama-b10068-bin-ubuntu-vulkan-x64.tar.gz)
linux·ubuntu·llm·llama·本地部署·llama.cpp·推理引擎
玖玥拾7 小时前
Unity 3D 笔记(十四)Unity/C# Socket 网络笔记3
服务器·网络·unity·c#
ziguo11228 小时前
C/C++ 错误处理全解:从 errno 到 C++ 异常
linux·c语言·c++·windows·visual studio
yiyeguzhou1008 小时前
Load/Store 和 Register–memory 架构
性能优化·云计算
三8448 小时前
使用Samba/NFS实现文件共享/自动挂载共享目录/autofs自动挂载服务
linux·服务器·网络
高铭杰9 小时前
万物皆可KV(2)SurrealDB 存储布局分析
linux·服务器
万事可爱^9 小时前
Claude 新发布的 Opus 5,系统提示语删了 80%,半价还能逼近 Fable 5
android·服务器·数据库·人工智能·claude
玖玥拾9 小时前
Unity 3D 笔记(十七)Unity/C# Socket 网络笔记6
服务器·网络·unity·c#
Jerry小杰10 小时前
运维神器|单端口搞定多台内网SSH!frp端口复用终极教程
运维·ssh
无小道10 小时前
深入解析操作系统文件缓冲区:页缓存、基数树与f_pos的协同设计
linux·缓存·文件缓冲区