shell基础之if语句

Shell流程控制

流程控制是改变程序运行顺序的指令。linux shell有一套自己的流程控制语句,其中包括条件语句(if),循环语句(for,while),选择语句(case)。下面我将通过例子介绍下,各个语句使用方法

if语句

格式:if list; then list; [ elif list; then list; ] ... [ else list; ] fi

1、单分支

if 条件表达式; then

命令

fi

2、双分支

if 条件表达式; then

  命令

else

  命令

fi

实例1判断crond进程是否正在运行

-v:表示取反;-c:即count,取代通常的输出,显示行数

1 #!/bin/bash
2 NAME=crond
3 NUM=$(ps aux |grep $NAME |grep -vc grep)
4 if [ $NUM -eq 1 ];then
5 echo "$NAME running."
6 else
7 echo "$NAME is not running!"
8 fi
View Code

实例2:检查主机是否在线

-c:表示发送几次包;-w:表示等待时间。当试图简写不可达主机时此选项很有用

 

if 语句可以直接对命令状态进行判断,就省去了获取$?这一步!

3、多分支

if 条件表达式; then

  命令

elif 条件表达式; then

  命令

else

  命令

fi

当不确定条件符合哪一个时,就可以把已知条件判断写出来,做相应的处理。

实例:

$1:表示接受用户输入参数

 

如果第一个条件符合就不再向下匹配

If语句实战案例

1、完成用户输入文件或者目录的自动复制,并可以实现用户指定复制目标位置;用户体验佳。

 

2、尝试写一个shell简单的计算器,实现加减乘除。

请输入一个数字: 7

请输入运算符:+

请输入第二个数字:7

7+7=14

 

3、输入一个用户,用脚本判断判断该用户是否存在。

 

猜你喜欢

转载自www.cnblogs.com/renyz/p/11297798.html
今日推荐