[SHELL]结构化命令之条件语句
1.if-then语句
#!/bin/bash
username="root"
if grep $username /etc/passwd
then
echo "there is root"
fi

2.if-then-else
#!/bin/bash
username="hahaha"
if grep $username /etc/passwd
then
echo "there is hahaha"
else
echo "there is not hahaha" fi
3.elif-then
#!/bin/bash
username1="hi"
username2="root"
if grep $username1 /etc/passwd
then
echo "there is hi"
elif grep $username2 /etc/passwd
then
echo "there is root"
else
echo "lili"
fi
4.test命令
若命令成立,返回退出状态码0
if pwd
then
echo "hello"
fi
bash shell 提供了另一种test的简洁语法方法,如下:
if [ condition ]
then
commands
fi
#!/bin/bash if [ -e $ ]
then
echo $
else
echo "$1 is not exist!"
fi
! ! ! ! ! ! ! ! 方括号内的两边一定要有空格
test命令可以进行三类比较;
- 数值比较
- 字符串比较
- 文件比较
1.数值比较

#!/bin/bash
var_1=
var_2=
if [ $var_1 -gt $var_2 ] #一定要空格
then
echo "var_1 > var_2"
else
echo "var_1 <= var_2"
fi
bash shell不能处理浮点数,test也不能处理浮点数,所以这里如果比较浮点数的大小会报错
2.字符串比较

比较大小时注意>,<符号需要转义,即[ $var_1 \>$var_2 ]
3.文件比较

5.if-then高级特性
bash提供了两种if-then语句中使用的高级特性:
- 用于数学表达式的双括号
- 用于高级字符串处理功能的双方括号
1.双括号

#!/bin/bash
var_1=
var_2=
if (( $var_1==$var_2* ))
then
echo "var_1 =2x var_2"
else
echo "var_1 !=2x var_2"
fi
2.使用双方括号(进行模式匹配)
#!/bin/bash
var=string
if [[ $var==s* ]]
then
echo "var is $var"
else
echo "none"
fi
6.case命令
case var in
pattern1 | pattern2) command;;
pattern3) command;;
*) default command;;
esac
#!/bin/bash
var=string
case $var in
str) echo "str";;
string) echo "string";;
*) default echo "default";;
esac
[SHELL]结构化命令之条件语句的更多相关文章
- linux shell脚本使用结构化命令
内容: 一.if-then命令 二.if-then-else命令 三.test命令 四.case命令 1.if-then结构化命令中最基本的类型,其格式如下: if command then comm ...
- Shell 语法之结构化命令(流程控制)
许多程序在脚本命令之间需要某种逻辑流控制,允许脚本根据变量值的条件或者其他命令的结果路过一些命令或者循环执行这些命令.这些命令通常被称为结构化命令.和其他高级程序设计语言一样,shell提供了用来控制 ...
- 《Linux命令行与shell脚本编程大全》第十二章 使用结构化命令
许多程序要就对shell脚本中的命令施加一些逻辑控制流程. 结构化命令允许你改变程序执行的顺序.不一定是依次进行的 12.1 使用if-then语句 如下格式: if command then ...
- bash shell笔记3 结构化命令二
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://twentyfour.blog.51cto.com/945260/513601 三 ...
- bash shell笔记2 结构化命令
二.使用结构化命令 知识内容: # 改变命令流 # 使用if-then逻辑 # 嵌套if-then # 测试条件 # 高级if-then功能 许多程序在脚本命令之间需要某些逻辑控制流,有些命令允许脚本 ...
- shell的结构化命令
shell在逻辑流程控制这里会根据设置的变量值的条件或其他命令的结果跳过一些命令或者循环执行的这些命令.这些命令通常称为结构化命令 1.if-then语句介绍 基本格式 if command then ...
- Shell编程—结构化命令(2)
1for命令 for命令的基本格式: for var in list do commands done 在list参数中,你需要提供迭代中要用到的一系列值. 1.1读取列表中的值 例子: $ vim ...
- 学习笔记:CentOS7学习之二十二: 结构化命令case和for、while循环
目录 学习笔记:CentOS7学习之二十二: 结构化命令case和for.while循环 22.1 流程控制语句:case 22.2 循环语句 22.1.2 for-do-done 22.3 whil ...
- shell脚本中的if条件语句介绍和使用案例
#前言:在生产工作中if条件语句是最常使用的,如使用来判断服务状态,监控服务器的CPU,内存,磁盘等操作,所以我们需要熟悉和掌握if条件语句. #简介 if条件语句,简单来说就是:如果,那么.有if单 ...
随机推荐
- nodejs中如何连接mysql
nodejs中如何连接mysql,下面给出一个小Demo. 第一步安装mysql模块npm install mysql 第二步导入mysql模块var mysql = require('mysql') ...
- HDU 1022 Train Problem I(栈的操作规则)
传送门:http://acm.hdu.edu.cn/showproblem.php?pid=1022 Train Problem I Time Limit: 2000/1000 MS (Java/Ot ...
- Xcode4.4(LLVM4.0编译器)中NSArray, NSDictionary, NSNumber优化写法
Xcode4.4(LLVM4.0编译器)中NSArray, NSDictionary, NSNumber优化写法 从xcode4.4开始,LLVM4.0编译器为Objective-C添加一些新的特性. ...
- Swift_销毁
Swift_销毁 点击查看源码 销毁 func test() { class SomeClass { //类销毁时 通知此方法 deinit { print("销毁") } } v ...
- 暂存,本人博客有bug,正在全力修复。
当阳光洒满大地,当清晨的凝露如水滴滋润着世间万物,我就在这里.我在这里静静的看着这一切,这宁静的美好.耳边传来的英文歌曲.手里拿着的带着书香的书,时光倒流仿佛回到了多年前的清晨,那时的我每天读书背英语 ...
- MySQL必知必会 读书笔记二:MySQL使用
使用MySQL 选择数据库 使用USE关键字 USE database; 了解数据库和表 如果不知道可以使用的数据库名时,可用MySQL的SHOW命令来显示这些信息. SHOW DATABASES; ...
- react-router-dom和本地服务本地开发 (node、webpack)
场景 使用react 做开发,避免会使用react-router React Router 已经是V4的版本 React Router 目前已经被划分成了三个包:react-router,react- ...
- Yii中实现分页
$criteria = new CDbCriteria(); // 查询字段 $criteria->select = 'id, name, create_time'; // 排序 $criter ...
- 大数据学习--day08(hnapp 后台系统开发、面向对象)
hnapp 后台系统开发.面向对象 利用前面所学的知识,写一个控制台登陆注册后台界面 package sy180918.hnapp.array; import java.util.Arrays; im ...
- 用Turtle库画一个爱心
---恢复内容开始--- 用Python中的turtle库画一个爱心 这个学期,我学了Python语言,并学到其中的一个库:turtle库.用turtle库可以画一些你想画的图片,所以我就想画一个爱心 ...