Shell 流程控制-if 语句
- 单分支if条件语句
if [ 条件判断式 ] ; then
程序
fi例子:判断分区使用率
- #!/bin/bash
- # Author: huangrui (Email:mycheryhr@gmail.com)
- rate=$(df -h | grep "sda1" | awk '{print $5}' | cut -f -d "%")
- if [ $rate -gt ]; then
- echo "Warning! disk is full !!!"
- fi
Code
- #!/bin/bash
双分支if条件语句
if [ 条件判断式 ] ; then
条件执行成立时,执行的语句
else
条件执行不成立,执行的语句
fi例子:备份网站目录文件
- #!/bin/bash
- # Author huangrui (Email:mycheryhr@gmail.com)
- date=$(date +%y%m%d)
- size=$(du -sh /home/test.com)
- if [ -d /home/test.com ];then
- echo "date is :$date" > /tmp/dbback/db.txt
- echo "size is :$size" >> /tmp/dbback/db.txt
- cd /tmp/dbback
- tar -zcf web_$date.tar.gz /home/test.com db.txt&>/dev/null
- rm -rf /tmp/dbback/db.txt
- else
- mkdir /tmp/dbback
- echo "date is :$date" > /tmp/dbback/db.txt
- echo "size is :$size" >> /tmp/dbback/db.txt
- cd /tmp/dbback
- tar -zcf web_$date.tar.gz /home/test.com db.txt&>/dev/null
- rm -rf /tmp/dbback/db.txt
- fi
Code
判断apache是否启动,使用nmap命令
- #!/bin/bash
- # Author huangrui (Email:mycheryhr@gmail.com)
- port=$(nmap -sT 172.16.193.128 | grep tcp | grep http | awk '{print $2}')
- if [ "$port" == "open" ]; then
- echo "$(date) httpd is ok!" >> /tmp/autostart-acc.log
- else
- /etc/rc.d/init.d/httpd restart &>/dev/null
- echo "$(date) httpd is restart!!" >> /tmp/autostart-err.log
- fi
Code
- #!/bin/bash
多分支if条件语句
if [ 条件判断1 ]; then
当条件判断式1成立时,执行程序1
elif [ 条件判断式2 ]; then
当条件判断式2成立时,执行程序2
…省略更多条件…
else
当所有条件都不成立,最后执行此程序
fi
Shell 流程控制-if 语句的更多相关文章
- [shell]流程控制----case语句
Shell case语句为多选择语句.可以用case语句匹配一个值与一个模式,如果匹配成功,执行相匹配的命令.case语句格式如下: case 值 in 模式1) command1 command2 ...
- shell流程控制--循环语句
#!/bin/bash ### for循环,数字段形式 echo 'for 循环,数字段形式' ..} do echo $i done ### for 循环,双括号形式 echo 'for 循环,双括 ...
- Shell 流程控制-if for case while until break continue
Shell 流程控制 和Java.PHP等语言不一样,sh的流程控制不可为空,如(以下为PHP流程控制写法): <?php if (isset($_GET["q"])) { ...
- 九、Shell 流程控制
Shell 流程控制 和Java.PHP等语言不一样,sh的流程控制不可为空,如(以下为PHP流程控制写法): <?php if (isset($_GET["q"])) { ...
- 『忘了再学』Shell流程控制 — 39、特殊流程控制语句
目录 1.特殊流程控制语句介绍 2.exit语句 3.break语句 4.continue语句 1.特殊流程控制语句介绍 Shell程序或者说其他的程序,都是顺序执行的,也就是第一行执行完再执行第二行 ...
- Python学习(七) 流程控制if语句
在Python中流程控制if语句采用如下格式: if expression : statement elif expression : statement elif expression : stat ...
- Laravel 5.6 视图用Blade语法传递变量和流程控制if 语句和循环语句
Laravel5.6 视图用Blade语法传递变量和流程控制if 语句和循环语句 Laravel 的 View 部分是内置了两套输出系统:直接输出和使用 Blade 引擎“编译”后输出,默认情况下它们 ...
- Lua的五种变量类型、局部变量、全局变量、lua运算符、流程控制if语句_学习笔记02
Lua的五种变量类型.局部变量.全局变量 .lua运算符 .流程控制if语句 Lua代码的注释方式: --当行注释 --[[ 多行注释 ]]-- Lua的5种变量类型: 1.null 表示 ...
- 『忘了再学』Shell流程控制 — 33、if条件判断语句(一)
目录 1.单分支if条件语句 2.双分支if条件语句 (1)示例1 (2)示例2 什么是流程控制? 普通理解:Shell编写的程序是顺序执行的,也就是说第一命令先执行,然后接着执行第二条命令,然后再下 ...
- 吴裕雄--天生自然ShellX学习笔记:Shell 流程控制
和Java.PHP等语言不一样,sh的流程控制不可为空,如(以下为PHP流程控制写法): <?php if (isset($_GET["q"])) { search(q); ...
随机推荐
- c++入门之—运算符重载和友元函数
运算符重载的意义是:将常见的运算符重载出其他的含义:比如将*重载出指针的含义,将<<与cout联合使用重载出输出的含义,但需要认识到的问题是:运算符的重载:本质仍然是成员函数,即你可以认为 ...
- pandas删除某一列的方法
方法一:直接del df['column-name'] 删除sub_grade_列, 输入del df['sub_grade_x'] 方法二:采用drop方法,有下面三种等价的表达式: 1. df= ...
- Docker -d : Running modprobe bridge nf_nat failed with message: exit status 1
nf_nat 是做什么用的 - DockOne.iohttp://dockone.io/question/1384 docker-py的配置与使用 - openxxs - 博客园http://www. ...
- 2 JAVA 项目名称前红色叹号如何解决
1 Java 项目前出现红色叹号Eclipse找不到项目需要的JAR包,可以在这里面解决: ① 右键点击项目,选择[Build Path].[Configure Build Path...] ② 在这 ...
- mysql_linux(centos7 mysql 5.7.19)
centos7 mysql 5.7.19安装 1.解压文件 [root@centos3 ~]# tar -zxvf mysql-5.7.19-linux-glibc2.12-x86_64.tar.g ...
- 数组中元素累加 reduce
例: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8& ...
- Struts2——namespace、action、以及path问题
简单的介绍下Struts2中的几个简单的问题(namespace.action.以及path问题) namespace(命名空间) Namespace决定了action的访问路径,默认为“”,意味着可 ...
- java学习之—递归
/** * 递归 * Create by Administrator * 2018/6/20 0020 * 上午 9:41 **/ public class TriangleApp { static ...
- Linux用户权限指令, 定时任务等指令
一. 网卡配置详解 网络配置文件: /etc/sysconfig/network 网络接口配置文件: /etc/sysconfig/network-scripts/ifcfg-INTERFACE_NA ...
- flask 下载本地文件
下载本地文件就是找到文件路径 调用flask自带的send_file(路径)下载, 并返回 flask: # 下载文件 from flask import send_file@task_mgm.ro ...