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

相关推荐
代码欢乐豆10 分钟前
软件工程第13章小测
服务器·前端·数据库·软件工程
麻瓜也要学魔法36 分钟前
Linux关于vim的笔记
linux·笔记·vim
云边的快乐猫1 小时前
navicat远程连接虚拟机centos系统的mysql
linux·mysql·centos·虚拟机·navicat
望获linux1 小时前
在 ARM 平台上如何实现Linux系统的1秒启动
linux·服务器·开发语言·数据库·操作系统·嵌入式操作系统·arm平台
先天打工圣体的男人1 小时前
Linux中安装InfluxDB
linux·运维·服务器
pakano2 小时前
VSCode 间距太小
ide·vscode·编辑器
陌小呆^O^2 小时前
CmakeList.txt之Linux-pthread
linux·运维·服务器
山川生色3 小时前
本机上装好的ubuntu 全部的开发软件 如何备份以后移到另一台电脑上 还不会出现引导错误?
运维·服务器·postgresql
დ旧言~3 小时前
实战项目 Boost 搜索引擎
服务器·c语言·前端·网络·汇编·c++
Sagice3 小时前
CVE-2019-13272(Linux本地内核提权)
linux·运维·服务器·网络·安全