Shell脚本之流程控制(if、for、while)
if 判断
if语句的三种格式:
(1)if
(2)if else
(3)if elif else
语法格式如下:
- #if 语法格式
- if 条件
- then
- 命令1...
- 命令2...
- fi
- #if else 语法格式
- if 条件
- then
- 命令1...
- 命令2...
- else
- 命令1...
- 命令2...
- fi
- #if elif else语法格式
- if 条件1
- then
- 命令1...
- 命令2...
- elif 条件2
- then
- 命令1...
- 命令2...
- else
- 命令1...
- 命令2...
- fi
二元操作符
整数比较:
- 等 于: -eq
- 不 等于: -ne
- 大 于: -gt
- 大于等于: -ge
- 小 于: -lt
- 小于等于: -le
字符串比较:
- 等 于: =
- 不 等于: !=
for循环
for循环语法格式:
- for 变量a in 变量1 变量2....变量n
- do
- 命令1.....
- 命令2....
- done
数字循环:
- #格式1:
- for ((i=1;i<=10;i++));
- do
- echo ${i};
- done
- #格式2:
- for i in $(seq 1 10)
- do
- echo ${i};
- done
- #格式3:
- for i in {1..10}
- do
- echo ${i};
- done
字符串循环:
- list="a b c d"
- for i in ${list};
- do
- echo ${i};
- done
while循环
while循环语法格式:
- while 条件
- do
- 执行命令(如果条件满足则执行该命令,不满足则结束)
- done
栗子:
(1)计算从1累加到100的和
- #!/bin/bash
- sum=
- i=
- while [ $i -le ];
- do
- let sum=sum+i #let命令是bash中用于计算的工具 变量计算不需要带$
- i=`expr $i + ` #expr是多功能计数器 注意要带$符号和注意空格
- done
- echo $sum
(2)while死循环
- #!/bin/bash
- while : # 这里:冒号代表死循环的意思
- do
- 命令
- done
until循环
条件为假的时候退出循环,和for、while相反,for、while是条件为真时继续执行循环。
until循环语法格式:
- until 条件 #条件为假时执行下面循环
- do
- 命令
- done
栗子:
(1)计算从1累加到100的和
- #!/bin/bash
- sum=
- i=
- until [ $i -gt ]
- do
- let sum=sum+i
- i=`expr $i + `
- done
- echo $sum
break:跳出循环
break 常用于循环语句中,跳出整个循环语句,直接结束所有循环。用法和java一样
continue:结束本次循环
continue 常用于循环语句中,结束本次循环,进行下一次循环。用法和java一样
exit:退出整个脚本
exit直接结束退出整个脚本,和java用法类似
Shell脚本之流程控制(if、for、while)的更多相关文章
- shell脚本之流程控制
shell脚本之流程控制 shell脚本之流程控制 条件语句 条件判断 循环语句for,while,until for循环 while循环 until循环 循环控制语句continue 循环控制语 ...
- shell脚本 3 流程控制
shell流程控制 流程控制是改变程序运行顺序的指令.linux shell有一套自己的流程控制语句,其中包括条件语句(if),循环语句(for,while),选择语句(case).下面我将通过例子介 ...
- Shell脚本学习 - 流程控制和函数
继续Shell的学习.上两篇是关于基本数据类型,基本语法以及运算符相关,这一篇是流程控制相关(if, for, while) 流程控制 if else 流程控制不可为空,如果else没有语句执行,就不 ...
- shell脚本(10)-流程控制while
一.while循环介绍 while循环与for一样,一般不知道循环次数使用for,不知道循环的次数时推荐使用while 二.while语法 while [ condition ] #条件为真才会循环, ...
- shell脚本(11)-流程控制case
一.case介绍 生产环境下,遇到要根据不同的状况执行不同的预案的情况,首先根据可能出现的情况写出对应预案,根据出现的情况来加载不同的预案 特点:根据给予的不同的代码块 二.case语法 case 变 ...
- 【Shell 编程基础第二部分】Shell里的流程控制、Shell里的函数及脚本调试方法!
http://blog.csdn.net/xiaominghimi/article/details/7603003 本站文章均为李华明Himi原创,转载务必在明显处注明:转载自[黑米GameDev街区 ...
- Shell命令和流程控制
Shell命令和流程控制 在shell脚本中可以使用三类命令: 1)Unix 命令: 虽然在shell脚本中可以使用任意的unix命令,但是还是由一些相对更常用的命令.这些命令通常是用来进行文件和文字 ...
- Shell脚本的条件控制和循环语句
条件判断:if语句 语法格式: if [ expression ] then Statement(s) to be executed if expression is true fi 注意:expre ...
- Shell命令和流程控制[linux常用命令的使用]
在shell脚本中使用三类命令: unix命令 概念:管道.重定向.backtick 流程控制 1 unix命令 echo "some text":在屏幕上输出信息 ls:文件列表 ...
随机推荐
- CF633C Spy Syndrome 2 trie树
这个模型以前绝对见过,模拟赛的时候开始敲了一个AC自动机,纯属脑抽~ code: #include <bits/stdc++.h> #define N 5000006 #define NN ...
- Gradle 如何打包 Spring Boot 可执行 JAR
如何在 Gradle 中配置一个项目可以打包为 Spring Boot 可执行 Jar? 你首先需要添加到 org.springframework.boot 到插件中: 例如下面的代码: plugin ...
- 查询Linux下文件格式.
备忘 file 命令可以查一个文件的格式 readelf -h 可执行文件名. 可以查询可执行文件的详细的格式 向Windows中exeinfo 软件类
- c语言 内存,可执行文件
c语言代码与可执行文件的映射关系 函数中的代码 存储在.text 段中 已初始化的全局变量 存储在.data段 未初始化的全局变量 存储在.bss段中 程序类型 映射到file header中 面试题 ...
- CF1217A
CF1217A 题意: 配exp点经验给力量str和智力int,求有多少种分配情况使str比int高 解法: 打表找规律,没了. CODE; #include <bits/stdc++.h> ...
- mongodb高可用部署linux
准备三台服务器,部署方案如下: 1.安装mongodb,详细不用说: 2.创建实例分别创建目录config.configServer.shard1.shard2.shard3.logs,分别存放实例配 ...
- go之构造体方法
package main import ( "fmt" "math" ) type Vertexs struct { X, Y float64 } //Abs ...
- 黑马vue---59-60、组件中的data和methods
黑马vue---59-60.组件中的data和methods 一.总结 一句话总结: 1. 组件可以有自己的 data 数据 2. 组件的 data 和 实例的 data 有点不一样,实例中的 dat ...
- mongoose 建立schema 和model
在node中使用MongoDB很多情况下,都是使用mongoose的,所以这集来介绍一下 安装 yarn add mongoose 连接 const mongoose = require(" ...
- Sublime 添加∕删除右键菜单.bat
Sublime 添加∕删除右键菜单.bat @ECHO OFF & PUSHD %~DP0 & TITLE >NUL 2>&1 REG.exe query &quo ...