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监本编写神器。

相关推荐
悠悠121388 小时前
微服务通信别只看性能:REST 与 gRPC 的 6 个选型判断和一次 502 故障复盘
运维·服务器
xiaoye-duck9 小时前
《Linux 网络编程》深入理解 IP 协议(二):网段划分、私有 IP 与 NAT 地址转换
linux·网络·ip
云老大-阿里云国际站代理商10 小时前
华为云国际站服务代理商:NAT网关怎么配?多台ECS共用公网IP要注意什么
服务器·华为云·云计算
zx_7414848110 小时前
【Linux入门】Shell 函数、正则表达式与文本处理:cut 与 awk
linux·运维·正则表达式
Zenova EdgeOS10 小时前
Linux dmesg 工业边缘实战:内核日志过滤、持久化与故障定位
linux·运维·边缘计算·工业边缘·dmesg·内核日志
金士顿11 小时前
System.Text.Json Source Generator 深度解析:为什么 Native AOT 不喜欢反射
linux·asp.net core·arm64·net·native aot
wdfk_prog11 小时前
ROS教程08:从 TransportTCP::connect() 追到 TCPROS Connection Header、序列化与 Socket 数据传输
运维·缓存·docker·容器·ros
做运维的阿瑞12 小时前
Python 标准库汇总:分类速览与常用模块清单
linux·运维·python
百万蹄蹄向前冲12 小时前
密码都对Node.js却连不上Linux数据库
linux·mysql
彧azz12 小时前
Linux 网络编程学习总结
linux·网络·笔记·学习·面试