一 语法
if [ 条件判断式 ]
then
当条件判断式1成立时,执行程序1
elif[ 条件判断式2 ]
then
当条件判断式2成立时,执行程序2
省略更多条件
else
当所有条件都不成立时,最后执行程序
fi
二 实现计算器
#!/bin/bash
read -t 30 -p "please input num1:" num1
read -t 30 -p "please input num2:" num2
read -t 30 -p "please input a operator:" ope
if [ -n "$num1" -a -n "$num2" -a -n "$ope" ]
then
test1=$(echo $num1|sed 's/[0-9]//g')
test2=$(echo $num2|sed 's/[0-9]//g')
if [ -z "$test1" -a -z "$test2" ]
then
if [ "$ope" == "+" ]
then
sum=$(($num1 + $num2))
elif [ "$ope" == "-" ]
then
sum=$(($num1 - $num2))
elif [ "$ope" == "*" ]
then
sum=$(($num1 * $num2))
elif [ "$ope" == "/" ]
then
sum=$(($num1 / $num2))
else
echo "Please enter a valid symbol"
exit 10
fi
else
echo "please input a num"
exit 11
fi
else
echo "please input a content:"
exit 12
fi
echo "$num1 $ope $num2 : $sum"
三 测试
please input num1:re
please input num2:23
please input a operator:1
please input a num
[root@localhost shell]# echo $?
11
[root@localhost shell]# ./shell5.sh
please input num1:
please input num2:
please input a operator:
please input a content:
[root@localhost shell]# echo $?
12
[root@localhost shell]# ./shell5.sh
please input num1:12
please input num2:23
please input a operator:gf
Please enter a valid symbol
[root@localhost shell]# echo $?
10
[root@localhost shell]# ./shell5.sh
please input num1:32
please input num2:12
please input a operator:-
32 - 12 : 20
[root@localhost shell]# ./shell5.sh
please input num1:76
please input num2:45
please input a operator:*
76 * 45 : 3420
[root@localhost shell]# ./shell5.sh
please input num1:87
please input num2:56
please input a operator:/
87 / 56 : 1
[root@localhost shell]# ./shell5.sh
please input num1:45
please input num2:23
please input a operator:+
45 + 23 : 68
四 判断用户输入的是什么文件
#!/bin/bash
read -t 30 -p "please input a file name:" file
if [ -z "$file" ]
then
echo "qing shuru neirong"
exit 11
elif [ ! -e "$file" ]
then
echo "qing shuru wenjianming"
exit 12
elif [ -f "$file" ]
then
echo "$file is a regular file"
elif [ -d "$file" ]
then
echo "$file is a mulu"
else
echo "$file is another file"
fi
相关推荐
Linux运维-3.Shell编程-12 shell编程-140多分支if语句.avi
Linux运维-3.Shell编程-12 shell编程-139双分支if语句2.avi
Linux运维-3.Shell编程-12 shell编程-138双分支if语句1.avi
if 语句可以分为单分支、双分支和多分支三种形式。单分支 if 语句的格式为:if 判断条件; then COMMANDS fi。双分支 if 语句的格式为:if 判断条件; then COMMANDS else COMMANDS fi。多分支 if 语句的格式为:if ...
在sh/bash里可不能这么写,如果else分支没有语句执行,就不要写这个else,就像这样: 代码如下: if condition then command1 command2 … commandN fi 当然,也可以写成一行(适用于终端命令提示符),像...
### 在Linux Shell脚本中使用if语句的方法 #### 一、引言 在Linux环境中,Shell脚本是一种强大的工具,允许用户通过一系列命令来自动化任务处理。其中,`if`语句是控制流程中最基本也是最常用的结构之一。本文将...
### Shell编程-流程控制-if语句 在Shell脚本编程中,流程控制是实现复杂逻辑的关键部分之一。其中,`if`语句是最基本也是最重要的流程控制结构之一,用于根据不同的条件来决定程序的执行路径。本文将详细介绍如何在...
"经典Shell语句大全"这个主题涵盖了在日常工作中频繁使用的、具有高效能和实用性的命令与技巧。以下是一些核心的Shell知识点: 1. **基本命令**: - `ls`:列出目录内容。 - `cd`:切换当前工作目录。 - `pwd`:...
Shell 流程控制中的 if 条件判断语句是编程中不可或缺的一部分,它允许程序员根据特定条件执行不同的代码块。本文将重点介绍 if 条件判断语句的基础知识,包括单分支和双分支的用法。 1、单分支 if 条件语句 单分支...
`case`语句在Shell编程中用于多分支选择。它的基本语法如下: ```bash case $变量 in 模式1) # 当$变量匹配模式1时执行的命令 ;; 模式2) # 匹配模式2时执行的命令 ;; ... *) # 其他情况执行的命令,相当于...
# 使用if语句进行判断 if [ $num -gt 10 ]; then echo "数字大于10" else echo $teacher fi ``` 在这段示例中: - `#!/bin/bash` 是Shell脚本的第一行,指定了解释器为bash。 - 定义了两个变量`num`和`teacher`。...
多分支if语句则使用`elif`添加更多的条件,最后一个`else`作为默认情况,格式为`if [条件表达式1]; then 命令操作1; elif [条件表达式2]; then 命令操作2; ...; else 默认命令操作; fi`。 在扩展部分,提到了几个...
* Shell if else 语句是指在 Shell 中的条件语句 * Shell if else 语句可以用来执行条件判断 Shell case esac 语句: * Shell case esac 语句是指在 Shell 中的选择语句 * Shell case esac 语句可以用来执行多重...
**3、多分支If语句** 多分支 `if` 语句允许对多个条件进行测试: ```bash if 条件1; then # 执行的命令 elif 条件2; then # 执行的命令 else # 执行的命令 fi ``` **示例7:检测CPU生产商** ```bash #!/bin/...
- **多分支语句**: ```bash if [ $a -lt $b ]; then echo "$a 小于 $b" elif [ $a -eq $b ]; then echo "$a 等于 $b" else echo "$a 大于 $b" fi ``` - **循环语句**: - **`for` 循环**: ```bash ...
除了 `if` 和 `else`,还有 `elif` 语句,可以添加更多的条件分支。但在这个案例中,只使用了基础的 `if` 和 `else` 结构。 此外,案例还提到了一个实际应用——Nginx日志切割。这是一个使用`if` 语句检查目录是否...
if语句用于执行基于条件的分支: - `[ $num -lt 60 ]`:测试数值是否小于60,`-lt`代表小于。 - `[[ $num -lt 85 && $num -ge 70 ]]`:使用双方括号进行更灵活的条件判断,并且支持更复杂的表达式。 2. **elif和...