作者介绍:简历上没有一个精通的运维工程师。请点击上方的蓝色《运维小路》关注我,下面的思维导图也是预计更新的内容和当前进度(不定时更新)。
我们前面学习了那么多命令,以及涉及到部分逻辑判断的问题。从简单来说,他就是Shell编程,只有由于命令比较单一,只能实现比较简单的功能。如果我们把多个操作都放到一起去,并添加更复杂的逻辑在里面,他就是Shell编程。所以我们主要从以下几个方面讲解Shell编程:
Shell编程-什么是shell
Shell编程-变量
Shell编程-数据类型
Shell编程-逻辑判断
Shell编程-if判断(本章节)
Shell编程-if和else
Shell编程-while循环
Shell编程-for循环
Shell编程-case
Shell编程-break
Shell编程-continue
Shell编程--函数
Shell编程-案例(一)
Shell编程-案例(二)
Shell编程-小结
前面几小节其实都算理论,今天这章节才算实践,我们上小节讲了判断,做了判断以后,肯定要有想要的动作才可以,否则判断就失去了意义。
其实在上一小节的时候,我们做了判断以后,就做了操作,只是这个操作没有真实意义,只是打印了一些文字输出,下面我们将结合真实情况进行讲讲。
在 Shell 中,if
判断语句有多种格式,主要用于根据条件执行不同的代码块。以下是其常见格式及用法:
一、基本格式
if [ condition ]; then
# commands if condition is true
fi
-
condition
是一个条件表达式,可以是比较运算符、文件测试、逻辑运算符等的组合。 -
如果条件为真,则执行
then
后面的命令。
二、数字比较
#!/bin/bash
num=$(ps -ef | grep -v grep | grep nginx | wc -l)
if [ $num -eq 3 ]; then
echo "nginx 正常运行中"
fi
三、文件测试比对
#!/bin/bash
if [ ! -d /home/user06 ]; then
useradd user06
fi
四、逻辑判断
#!/bin/bash
# 定义变量
NGINX_VERSION="1.25.1"
DOWNLOAD_URL="http://nginx.org/download/nginx-${NGINX_VERSION}.tar.gz"
INSTALL_DIR="/usr/local/nginx"
# 下载 Nginx 源代码
echo "开始下载 Nginx 源代码..."
wget -q $DOWNLOAD_URL
# 解压源代码
echo "开始解压 Nginx 源代码..."
tar -zxf nginx-${NGINX_VERSION}.tar.gz
# 进入目录
cd nginx-${NGINX_VERSION}
# 配置编译选项
echo "开始配置 Nginx..."
./configure --prefix=$INSTALL_DIR
if [ $? -eq 0 ]; then
echo "配置 Nginx 成功!"
fi
# 编译
echo "开始编译 Nginx..."
make
if [ $? -eq 0 ]; then
echo "编译 Nginx 成功!"
fi
# 安装
echo "开始安装 Nginx..."
make install
if [ $? -eq 0 ]; then
echo "安装 Nginx 成功!"
fi
总结
-
这里就利用if判断来做了具体的运维操作。
-
但是这里只考虑到了成功的情况,如果失败了怎么做脚本里面并没有提示。
运维小路
一个不会开发的运维!一个要学开发的运维!一个学不会开发的运维!欢迎大家骚扰的运维!
关注微信公众号《运维小路》获取更多内容。