Shell中的if和case判断语句
Posted Bwz_Learning
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Shell中的if和case判断语句相关的知识,希望对你有一定的参考价值。
在程序的执行过程中,总会遇到各种各样的情况。而作为一个功能相对完善的程序来讲,应该可以根据不同的情况来选择执行不同的代码。此时,我们需要用到条件判断语句。条件判断语句是一种最简单的控制语句,该语句是的程序根据不同的条件来执行不同的程序分支。
使用if语句进行条件判断
条件判断语句可以使用if语句来实现,最简单的if语句的语法如下:
if expression
then
statement1
statement2
..........
fi
或者是下面的形式
if expression ; then
statement1
statement2
..........
fi
在Shell程序中,如果想要将多个命令放在同一行里面,则需要使用分号将其隔开。
通过条件测试判断文件类型
#!/bin/sh
if [ -f /bin/bash ] ; then
echo " /bin/bash is a file "
fi
脚本的执行结果
[root@VM_156_149_centos shell]# sh 9.sh
/bin/bash is a file
通过条件测试判断文件是否创建成功
#!/bin/sh
echo "hello world!" > ./msg.log
if [ -f ./msg.log ] ; then
echo " file has been created ... "
fi
脚本的执行结果,
[root@VM_156_149_centos shell]# sh 10.sh
file has been created ...
使用if else 语句进行条件判断
if else 语句的基本语法
if expression ; then
statement1
statement2
.....
else
statement3
statement4
.....
fi
- if else 使用的例子
#! /bin/bash
#输出提示信息
echo "Please enter a number:"
#从键盘读取用户输入的数据
read num
#如果用户数据的数据大于10
if [ "$num" -gt 10 ] ; then
#输出大于10的提示信息
echo "The number is greater than 10";
else
#输出小于等于10的提示信息
echo "The number is equal to or less than 10"
fi
- 程序的运行结果
[root@VM_156_149_centos shell]# sh 11.sh
Please enter a number:
7
The number is equal to or less than 10
[root@VM_156_149_centos shell]# sh 11.sh
Please enter a number:
11
The number is greater than 10
使用case语句进行条件判断
case语句的基本语法如下,
case variable in
value1)
statement1
statement2
.....
statementn ;; #;;相当于break
value2)
statement1
statement2
.....
statementn ;; #;;相当于break
.....
*)
statement1
statement2
.....
statementn ;; #;;相当于break
esac
利用case处理用户输入
#! /bin/bash
#输出提示信息
echo "Hit a Key ,then hit return ."
#读取用户按下的键的信息
read keypress
#case语句开始
case "$keypress" in
#小写字母
[[:lower:]])
echo "Lowercase letter " ;; #这里的;;不能忘记
#大写字母
[[:upper:]])
echo "Uppercase Letter " ;; #这里的;;不能忘记
#单个数字
[0-9])
echo "Digit " ;;
#其他字符
*)
echo "Other Letter " ;; #这里的;;不能忘记
esac
- 程序的运行结果
[root@VM_156_149_centos shell]# sh case.sh
Hit a Key ,then hit return .
1
Digit
[root@VM_156_149_centos shell]# sh case.sh
Hit a Key ,then hit return .
e
Lowercase letter
[root@VM_156_149_centos shell]# sh case.sh
Hit a Key ,then hit return .
E
Uppercase Letter
[root@VM_156_149_centos shell]# sh case.sh
Hit a Key ,then hit return .
Other Letter
以上是关于Shell中的if和case判断语句的主要内容,如果未能解决你的问题,请参考以下文章
shell脚本中的逻辑判断,文件目录属性判断,if特殊用法,case语句
六十八shell脚本中的逻辑判断文件目录属性判断if特殊用法case判断