shell&流程控制语句if

目录

​编辑

前言

 单分支语句

 双分支语句

多分支语句

扩展

文件比较 

整数比对

变量说明

字符对比

正则比对


前言

if语句是指编程语言(包括c语言、C++、C#、java、VB、汇编语言等)中用来判定所给定的条件是否满足,根据判定的结果(真或假)决定执行给出的两种操作之一。if的返回值为真或假,可以用bool型变量进行存储,占用一字节

 单分支语句

if [ 满足条件 ];then
执行代码
fi

例:

vim if1.sh
#!/bin/bash
if [ while 66>0 ];then
echo "ok"
fi 

 双分支语句

if [ 满足条件 ];then
执行代码
else
执行另一条代码
fi

例:查找/etc/passwd文件下有无该用户

vim if2.sh
#!/bin/bash

if grep "$1" /etc/passwd;then
echo "ok"
else
echo "error"
fi 

sh if2.sh root
sh if2.sh wangwu

if语句中的“表达式”可以是关系表达式、逻辑表达式,甚至是数值表达式。其中最直观、最容易理解的是关系表达式。所谓关系表达式就是两个数值进行比较的式子。

多分支语句

逐条匹配,匹配即执行
if [ 满足条件1 ];then
执行代码1
elif [ 满足条件2 ];then
执行代码2
else
执行最后代码
fi 

例:

vim if3.sh
#!/bin/bash
read -p "请输入用户名:"  User

if grep $User /etc/passwd &> /dev/null;then
echo "用户$User存在"

elif ls -d /home/$User &> /dev/null;then
echo "用户$User不存在"
echo "但是$User宿主目录存在"

else 
echo "用户$User不存在"
echo "$User宿主目录也不存在"
fi 

扩展

>  正确输出  >> 追加输出重定向
2> 错误输出  2>> 错误追加输出重定向
&> 混合输出  &>> 混合追加输出

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值