利用if…then条件判断式

简介: 【1月更文挑战第7天】利用if…then条件判断式。

if…then是最常见的条件判断式。简单地说,就是当符合某个条件判断的时候,就进行某项工作。if…then的判断还有多层次的情况,我们将分别介绍。
1.单层、简单条件判断式
如果只有一个判断式要进行,那么可以简单地这样做:
if [条件判断式]; then
当条件判断式成立时,可以进行的命令工作内容;
fi <==将if反过来写,就成为fi了,结束if之意
下面将sh06.sh这个脚本修改为if...then的样式:
[root@Server01 scripts]# cp sh06.sh sh06-2.sh <==这样改得比较快
[root@Server01 scripts]# vim sh06-2.sh

!/bin/bash

Program:

This program shows the user's choice

History:

2021/08/25 Bobby First release

PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
export PATH

read -p "Please input (Y/N): " yn
if [ "$yn" == "Y" ] || [ "$yn" == "y" ]; then
echo "OK, continue"
exit 0
fi
if [ "$yn" == "N" ] || [ "$yn" == "n" ]; then
echo "Oh, interrupt!"
exit 0
fi
echo "I don't know what your choice is" && exit 0
运行:
[root@Server01 scripts]# sh sh06-2.sh
2.多重、复杂条件判断式
在同一个数据的判断中,如果该数据需要进行多种不同的判断,那么应该怎么做呢?
可以使用:

多个条件判断 (if...elif...elif... else) 分多种不同情况运行

if [条件判断式一]; then
当条件判断式一成立时,可以进行的命令工作内容;
elif [条件判断式二]; then
当条件判断式二成立时,可以进行的命令工作内容;
else
当条件判断式一与二均不成立时,可以进行的命令工作内容;
fi
我们将sh06-2.sh改写成这样:
[root@Server01 scripts]# cp sh06-2.sh sh06-3.sh
[root@Server01 scripts]# vim sh06-3.sh

!/bin/bash

Program:

This program shows the user's choice

History:

2021/08/25 Bobby First release

PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
export PATH
read -p "Please input (Y/N): " yn
if [ "$yn" == "Y" ] || [ "$yn" == "y" ]; then
echo "OK, continue"
elif [ "$yn" == "N" ] || [ "$yn" == "n" ]; then
echo "Oh, interrupt!"
else
echo "I don't know what your choice is"
fi
运行:[root@Server01 scripts]# sh sh06-3.sh
如果你不希望用户由键盘输入额外的数据,那么就可以使用上一节提到的参数功能($1),让用户在执行命令时就将参数带进去。现在我们想让用户输入“hello”这个关键字时,利用参数的方法可以按照以下内容依序设计。
判断 $1是否为hello,如果是,就显示“Hello, how are you ?”。
如果没有加任何参数,就提示用户必须要使用的参数。
而如果加入的参数不是hello,就提醒用户仅能使用hello为参数。
整个程序是这样的:
[root@Server01 scripts]# vim sh09.sh

!/bin/bash

Program:

Check $1 is equal to "hello"

History:

2021/08/28 Bobby First release

PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
export PATH

if [ "$1" == "hello" ]; then
echo "Hello, how are you ?"
elif [ "$1" == "" ]; then
echo "You MUST input parameters, ex> {$0 someword}"
else
echo "The only parameter is 'hello', ex> {$0 hello}"
fi

相关文章
|
7月前
|
C# 开发者
C#条件语句
C#条件语句
63 0
|
3月前
|
Python
条件判断
条件判断。
37 3
|
3月前
|
C#
C# 一分钟浅谈:条件语句 if-else 的使用
【9月更文挑战第1天】条件语句是编程中的基础概念,C# 中的 `if-else` 语句允许根据不同条件执行不同代码块。本文详细介绍了 `if-else` 语句的基本语法和使用方法,并提供了多个示例,如根据年龄判断是否可以观看电影、根据成绩评定学生等级等。此外,还探讨了常见问题及其解决方法,例如条件表达式错误、忽略边界条件和条件分支过多等问题,并介绍了如何使用括号明确优先级、避免冗余条件、使用 `switch` 语句和提取公共逻辑等技巧。通过本文的学习,你可以更好地理解和运用 C# 中的条件语句。
114 0
|
6月前
|
安全 C++
C++一分钟之-控制流:if语句与条件判断
【6月更文挑战第18天】在C++中,`if`语句是控制流的核心,用于条件判断和决策。简单`if`检查条件是否为真,执行相应代码;`if-else`添加了否定分支;而`if-else if-else`链处理多个条件。常见问题包括真假值混淆(非零为真)、逻辑运算符误用、缺少可读性以及边界条件忽视。通过明确比较、理解逻辑运算符和强化边界检查,可以提高代码质量。示例展示了根据成绩输出不同反馈,强调了逻辑的清晰性和可维护性。掌握`if`语句是编写有效逻辑的关键。
70 13
|
7月前
|
机器学习/深度学习 算法 搜索推荐
条件语句在Pyth
条件语句在Pyth
32 1
|
7月前
|
C++
在C++条件语句
在C++条件语句
|
7月前
|
程序员 C++
C++条件语句
C++条件语句
62 0
|
7月前
|
C#
C# 循环与条件语句详解
使用 switch 语句选择要执行的多个代码块中的一个。 示例:
80 2
|
C语言
switch语句和while循环
switch语句和while循环
68 0
C#中的循环和条件语句
C#中的循环和条件语句
85 0