阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

if语句与shell运算

355次阅读
没有评论

共计 1586 个字符,预计需要花费 4 分钟才能阅读完成。

if 是一个条件判断语句,判断的前提是得有个条件。so,条件就显得格外重要了,if 中可以有哪些条件呢?接下来我们就来聊一聊 if 条件的问题。
我们在之前的课程中学习了 shell 的运算,有比较运算、逻辑运算、文件运算等,这些运算可以植入到 if 条件中吗?答案是肯定的,接下来我就给大家演示一下如何在 if 条件中植入 shell 运算条件

一、与文件存在与否的判断

-e	是否存在   不管是文件还是目录,只要存在,条件就成立
-f	是否为普通文件
-d	是否为目录
-S	socket
-p	pipe
-c	character
-b	block
-L	软 link
  • 文件权限相关的判断
-r	当前用户对其是否可读
-w	当前用户对其是否可写
-x	当前用户对其是否可执行
-u	是否有 suid
-g	是否 sgid
-k	是否有 t 位
  • 两个文件的比较判断
file1 -nt  file2	比较 file1 是否比 file2 新	
file1 -ot  file2 	比较 file1 是否比 file2 旧
file1 -ef  file2	比较是否为同一个文件,或者用于判断硬连接,是否指向同一个 inode
  • 整数之间的判断
-eq	相等
-ne	不等
-gt	大于
-lt	小于
-ge   大于等于
-le	小于等于


浮点比较运算
比较两个浮点数字的大小
给脚本两个浮点数字   返回他两的关系


#思路
1、获得两个浮点数字
2、处理为整形
3、比较
4、输出
  • 字符串之间的判断
-z  是否为空字符串   		字符串长度为 0,就成立
-n  是否为非空字符串    	只要字符串非空,就是成立
string1 == string2 		是否相等
string1 != string2 		不等


#用户登录验证

[root@zutuanxue ~]# cat if-6.sh 
#!/bin/bash
#1、交互式输入用户名 密码
read -p "user:" myuser
if [-z "$myuser"];then
	echo "用户名为空"
	exit 1
fi

#从外往里写
read -p "password:" mypw
if [-n "$mypw"];then
       #2、判断是否正确
         #2.1 判断用户名
	if [$myuser == "root"];then
	   #2.2 判断密码
	   if [$mypw == "abc-123"];then
		   echo "welcome root"
	   else
		   echo "密码错误"
		   exit 1
	   fi
        
 	else
     	 echo "用户名错误"
		exit 1
	fi		

else
	echo "密码不能为空"
	exit 1
fi
  • 多重条件判断
 逻辑判断符号:&&  	(and 逻辑与) 		两个条件同时满足,整个大条件为真
||	(or 逻辑或)		两个条件满足任意一个,整个大条件为真!非运算

#用户登录验证
[root@zutuanxue ~]# cat if-6.sh 
#!/bin/bash
#1、交互式输入用户名 密码
read -p "user:" myuser
if [-z "$myuser"];then
	echo "用户名为空"
	exit 1
fi

#从外往里写
read -p "password:" mypw
if [-n "$mypw"];then
       #2、判断是否正确
         #2.1 判断用户名
	#if [$myuser == "root"];then
	   #2.2 判断密码
	  # if [$mypw == "abc-123"];then
	#	   echo "welcome root"
	   #else
	#	   echo "密码错误"
	#	   exit 1
	#   fi
        #
 	#else
     	#	echo "用户名错误"
	#	exit 1
	#fi		

	if [$myuser == 'root'] && [$mypw == 'abc-123'];then
		echo "welcome root"
	else
		echo "用户名或密码错误"
		exit 1
	fi

else
	echo "密码不能为空"
	exit 1
fi



二、课后练习

 练习题 1、判断 /tmp/tyschool 目录,如果没有则创建它
练习题 2、判断是否有 /usr/bin/wget 命令,没有则安装他
练习题 3、判断当前用户是否为管理员,UID 为 0 或者为 root 都算管理员
练习题 4、打印物理内存使用率

三、学习视频

视频:if 与 shell 运算 01
视频:if 与 shell 运算 02

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-06-09发表,共计1586字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中

星哥玩云

星哥玩云
星哥玩云
分享互联网知识
用户数
4
文章数
19348
评论数
4
阅读量
7806771
文章搜索
热门文章
开发者必备神器:阿里云 Qoder CLI 全面解析与上手指南

开发者必备神器:阿里云 Qoder CLI 全面解析与上手指南

开发者必备神器:阿里云 Qoder CLI 全面解析与上手指南 大家好,我是星哥。之前介绍了腾讯云的 Code...
星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛 NAS-6:抖音视频同步工具,视频下载自动下载保存 前言 各位玩 NAS 的朋友好,我是星哥!...
云服务器部署服务器面板1Panel:小白轻松构建Web服务与面板加固指南

云服务器部署服务器面板1Panel:小白轻松构建Web服务与面板加固指南

云服务器部署服务器面板 1Panel:小白轻松构建 Web 服务与面板加固指南 哈喽,我是星哥,经常有人问我不...
我把用了20年的360安全卫士卸载了

我把用了20年的360安全卫士卸载了

我把用了 20 年的 360 安全卫士卸载了 是的,正如标题你看到的。 原因 偷摸安装自家的软件 莫名其妙安装...
星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛 NAS-3:安装飞牛 NAS 后的很有必要的操作 前言 如果你已经有了飞牛 NAS 系统,之前...
阿里云CDN
阿里云CDN-提高用户访问的响应速度和成功率
随机文章
星哥带你玩飞牛 NAS-10:备份微信聊天记录、数据到你的NAS中!

星哥带你玩飞牛 NAS-10:备份微信聊天记录、数据到你的NAS中!

星哥带你玩飞牛 NAS-10:备份微信聊天记录、数据到你的 NAS 中! 大家对「数据安全感」的需求越来越高 ...
把小米云笔记搬回家:飞牛 NAS 一键部署,小米云笔记自动同步到本地

把小米云笔记搬回家:飞牛 NAS 一键部署,小米云笔记自动同步到本地

把小米云笔记搬回家:飞牛 NAS 一键部署,小米云笔记自动同步到本地 大家好,我是星哥,今天教大家在飞牛 NA...
自己手撸一个AI智能体—跟创业大佬对话

自己手撸一个AI智能体—跟创业大佬对话

自己手撸一个 AI 智能体 — 跟创业大佬对话 前言 智能体(Agent)已经成为创业者和技术人绕...
星哥带你玩飞牛NAS-13:自动追番、订阅下载 + 刮削,动漫党彻底解放双手!

星哥带你玩飞牛NAS-13:自动追番、订阅下载 + 刮削,动漫党彻底解放双手!

星哥带你玩飞牛 NAS-13:自动追番、订阅下载 + 刮削,动漫党彻底解放双手! 作为动漫爱好者,你是否还在为...
浏览器自动化工具!开源 AI 浏览器助手让你效率翻倍

浏览器自动化工具!开源 AI 浏览器助手让你效率翻倍

浏览器自动化工具!开源 AI 浏览器助手让你效率翻倍 前言 在 AI 自动化快速发展的当下,浏览器早已不再只是...

免费图片视频管理工具让灵感库告别混乱

一言一句话
-「
手气不错
星哥带你玩飞牛NAS-13:自动追番、订阅下载 + 刮削,动漫党彻底解放双手!

星哥带你玩飞牛NAS-13:自动追番、订阅下载 + 刮削,动漫党彻底解放双手!

星哥带你玩飞牛 NAS-13:自动追番、订阅下载 + 刮削,动漫党彻底解放双手! 作为动漫爱好者,你是否还在为...
星哥带你玩飞牛NAS硬件02:某鱼6张左右就可拿下5盘位的飞牛圣体NAS

星哥带你玩飞牛NAS硬件02:某鱼6张左右就可拿下5盘位的飞牛圣体NAS

星哥带你玩飞牛 NAS 硬件 02:某鱼 6 张左右就可拿下 5 盘位的飞牛圣体 NAS 前言 大家好,我是星...
国产开源公众号AI知识库 Agent:突破未认证号限制,一键搞定自动回复,重构运营效率

国产开源公众号AI知识库 Agent:突破未认证号限制,一键搞定自动回复,重构运营效率

国产开源公众号 AI 知识库 Agent:突破未认证号限制,一键搞定自动回复,重构运营效率 大家好,我是星哥,...
多服务器管理神器 Nexterm 横空出世!NAS/Win/Linux 通吃,SSH/VNC/RDP 一站式搞定

多服务器管理神器 Nexterm 横空出世!NAS/Win/Linux 通吃,SSH/VNC/RDP 一站式搞定

多服务器管理神器 Nexterm 横空出世!NAS/Win/Linux 通吃,SSH/VNC/RDP 一站式搞...
小白也能看懂:什么是云服务器?腾讯云 vs 阿里云对比

小白也能看懂:什么是云服务器?腾讯云 vs 阿里云对比

小白也能看懂:什么是云服务器?腾讯云 vs 阿里云对比 星哥玩云,带你从小白到上云高手。今天咱们就来聊聊——什...