shel脚本基础系列(二)语法+运算+判断(下)

简介: shel脚本基础系列(二)语法+运算+判断

6、字符串判断选项

image.png

7、其他命令通过 man test 查看,有string的比较,文件判断等

六、多条件判断

1、语法

(1)逻辑与

-a 或者 &&

(2)逻辑或

 -o 或者 ||

(3)示例

#判断用户是否是管理员,满足条件打印后面内容
[ $(id -u) -eq 0 ]&& echo “是管理员” 

2、if 结构

(1)语法一

if [ condition ];then
command
fi

(2)语法二

if test condition ;then
command
else
command
fi

(3) 语法三

if test condition ;then
command
elif test condition ;then
command
else test condition ;then
command
fi

3、应用案例

(1)判断主机是否ping通

#!/bin/bash
read -p 'ping 哪个ip:' ip
#脚本里面执行命令不输出
ping -c1 $ip &>/dev/null
if [ $? -eq 0 ];then
echo 通了
else
echo 不通
fi

(2)判断一个进程是否存在, 0为存在,使用ps命令

#grep -v 'grep' 结果不包含当前命令进程
ps -ef|grep clickhouse|grep -v 'grep';echo $?

(3)判断一个进程是否存在, 0为存在,使用pgrep命令

#判断进程是否存在
pgrep clickhouse &>/dev/null
test $? -eq 0 && echo "当前clickhouse进程存在" || echo "当前进程不存在"

(4)判断一个用户是否存在

read -p "请输入一个用户:" username
id $username &>/dev/null
if test $? -eq 0;then
echo "$username用户存在"
else
echo "$username用户不存在"
fi

七、总结

以上就是就是关于shell语法变量,运算,判断相关所有内容,希望对大家有帮助,可以参考一下,觉得不错的话,欢迎微信搜索关注java基础笔记,后面会不断更新相关知识,大家一起进步。

目录
相关文章
|
存储 传感器 监控
Baumer工业相机堡盟工业相机如何通过BGAPISDK将相机图像高速保存到电脑内存(C#)
Baumer工业相机堡盟工业相机如何通过BGAPISDK将相机图像高速保存到电脑内存(C#)
341 0
|
安全 Oracle 关系型数据库
看完这篇 教你玩转渗透测试靶机Vulnhub——Bluemoon: 2021
看完这篇 教你玩转渗透测试靶机Vulnhub——Bluemoon: 2021
1134 0
|
Java 关系型数据库 数据库
如何使用 PolarDB-X
《PolarDB-X 动手实践》系列第二期,本场景带您体验如何基于PolarDB-X进行应用开发。
|
前端开发 JavaScript
elasticsearch 实现搜索关键字的高亮显示(spring-data-elasticsearch)
elasticsearch 实现搜索关键字的高亮显示(spring-data-elasticsearch)
1353 0
|
存储 数据采集 搜索推荐
电商数据监测:如何获取想要的电商平台数据?
电商数据监测:如何获取想要的电商平台数据?
|
C语言
第一个C语言项目
第一个C语言项目
174 0
|
SQL Java 数据库连接
Hibernate常见配置
Hibernate常见配置
144 0
|
Java 数据库连接 mybatis
MyBatis实现基于Mapper接口代理Dao的CURD
MyBatis实现基于Mapper接口代理Dao的CURD
|
Web App开发 存储 缓存
一文带你了解如何排查内存泄漏导致的页面卡顿现象(上)
不知道在座的各位有没有被问到过这样一个问题:如果页面卡顿,你觉得可能是什么原因造成的?有什么办法锁定原因并解决吗?
1060 0
一文带你了解如何排查内存泄漏导致的页面卡顿现象(上)
|
JavaScript 前端开发
最简vue.js原理教程,适合初学者
早就想写这个了,和csdn高校俱乐部约好了有个直播,想着反正要备课,我不如直接把要讲的东西写成博客算了。
186 0