shell 之 流程控制语句if

1. 单分支if语句

1.1 语法格式

if 条件
then
	commands
fi

1.2 例子

#!/bin/bash
if ls /shell
then
	echo "there is a dir named shell"
fi

执行结果
在这里插入图片描述

1.3 流程图

在这里插入图片描述
注:根据我们命令退出的码来进行判断($? 是否为 0 ),如果是0,那么就会执行then后面的命令

2. 双分支if语句

2.1 语法格式

if 条件 ;then
	commands1
else
	commands2
fi

2.2 例子

1)查看/etc/passwd文件中是否包含root

#! /bin/bash
if grep root /etc/passwd;then	# “;”分号用于分隔同一行上的多条命令
	echo "it is ok"
else
	echo "ERROR"
fi

执行结果
在这里插入图片描述
2)查看/etc/passwd文件中是否包含admin

#! /bin/bash
if grep admin /etc/passwd;then
	echo "it is ok"
else
	echo "ERROR"
fi

执行结果
在这里插入图片描述

2.3 流程图

在这里插入图片描述

3 多分支if语句

3.1 语法格式

# 语法结构
if 条件测试操作1;then
	commands1
elif 条件测试操作2;then
	commands2
elif 条件测试操作3;then
	commands3
......
else
	commands
fi

3.2 例子

判断用户在系统中是否存在,是否有家目录

#! /bin/bash
read -p "input a user:" uname
if grep $uname /etc/passwd;then
	echo "the user $uname exists on this system"
elif ls -d /home/$uname;then
	echo "the user $uname not exists on this system"
	echo "the user $uname has a home directory"
else
	echo "the user $uname not exists on this system"
	echo "the user $uname has no directory"
fi

执行结果
在这里插入图片描述

3.3 流程图

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值