Shell流程控制语句if

(1).if语句

语法格式:

1
2
3
4
5
6
7
8
9
if 判断条件 ; then
  命令
fi
 
if 判断条件
then
  命令
fi

if语句流程图:

  实例:判断命令是否执行成功,成功则输出语句This is ok.

1
2
3
4
5
6
7
8
[root@youxi1 ~]# vim a.sh
#!/bin/bash
ls /mnt > /dev/null
if [ $? -eq 0 ] ; then
    echo "This is ok."
fi
[root@youxi1 ~]# sh a.sh
This is ok.

(2).双分支if语句

语法格式:

1
2
3
4
5
if 判断条件 ; then
  命令1
else
  命令2
fi

双分支if语句流程图:

 

 

  实例:判断命令是否执行成功,成功则输出This is ok.,否则输出This is not ok.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
[root@youxi1 ~]# vim a.sh
#!/bin/bash
ls /mnt &> /dev/null
if [ $? -eq 0 ] ; then
    echo "This is ok."
else
    echo "This is not ok."
fi
 
ls /mnt/a.txt &> /dev/null
if [ $? -eq 0 ] ; then
    echo "This is ok."
else
    echo "This is not ok."
fi
[root@youxi1 ~]# sh a.sh
This is ok.
This is not ok.

(3).多分支if语句

语法格式:

1
2
3
4
5
6
7
8
9
10
if 判断条件1 ; then
  命令1
elif 判断条件2 ; then
  命令2
elif 判断条件3 ; then
  命令3
......
else
    命令n
fi

多分支if语句流程图:

 

  实例:判断键盘输入的数字,如果等于零则输出0,如果大于0则输出“这是一个正数”,如果小于0则输出“这是一个负数”。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
[root@youxi1 ~]# vim a.sh
#!/bin/bash
read -p "请输入一个数字:" num
if [ $num -eq 0 ] ; then
    echo $num
elif [ $num -gt 0 ] ; then
    echo "这是一个正数"
else
    echo "这是一个负数"
fi
[root@youxi1 ~]# sh a.sh
请输入一个数字:12
这是一个正数
[root@youxi1 ~]# sh a.sh
请输入一个数字:0
0
[root@youxi1 ~]# sh a.sh
请输入一个数字:-12
这是一个负数

  

posted @   苦逼运维  阅读(603)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· .NET Core 中如何实现缓存的预热?
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
· 【译】Visual Studio 中新的强大生产力特性
点击右上角即可分享
微信分享提示