shell script 学习笔记-----if,for,while,case语句
1、if内的判断条件为逻辑运算:

2、if内的判断条件为目录是否存在,文件是否存在,下图先检验目录/home/monster是否存在,然后再检测/home/monster中的file.txt文件是否存在,这里需要注意的是在进行文件目录是否存在一类的判断时,只能使用"[]"括号。“()”括号一般仅用于算数运算。当然,在一个if中可以存在多个判断条件,用-a(与)或者-o(或)连起来,不过这里需要特别注意的是,shell和C/C++,JAVA是不同的,它在一个if中的所有判断条件都会执行到,而不是像C语言里,如果两个判断条件相与,第一个条件错了,那么第二个条件便不再执行。因此对于shell应该特别小心,避免不必要的错误

3、相等的判断,这里需要注意的是,若比较符号为"-eq"则为算数比较,若为“=”或者“==”则比较两个字符是否相同,如下所示:

4、while循环的使用如下图所示,当判断条件用"(( ))"围起来的时候,里面可以进行算数逻辑判断,如果判断文件是否存在之类则需要使用"[ ]",当然while之后也能跟命令进行判断。这里需要注意的是,如果while后面跟命令进行判断,则命令执行返回的结果非零则跳出循环,而"(( ))"的判断条件是为零跳出循环。因此,想要程序无限循环,则使用语句while (( 1 ))...即可

5、shell里面的for循环如下图所示,显然,和C语言的表示方式差不多,不过是单括号变成了双括号而已

6、浮点数的for循环,其实和整数类似,不过是起点,终点,累加值都变为浮点数而已,其中seq每隔0.1产生一个新的数字,占据一行,然后fp依次从中取数

7、shell里面的case语句相当于C语言中的switch语句,需要注意的是,shell中用两个分号表示break语句,而且default语句用通配符“*"表示。当然,和switch一样,没有双分号,则程序会继续往下执行而不是自动跳出

shell script 学习笔记-----if,for,while,case语句的更多相关文章
- shell script 学习笔记-----shell变量
1.在赋值语句name=value中不能存在空格,例如:name = value这样的形式会被认为是三个变量,因为本质上来说,脚本的内容就是传给shell程序的变量,而变量之间是通过空格区分的.如果想 ...
- shell script 学习笔记-----命令执行
1.PATH变量:shell最主要的功能就是执行用户输入的命令,例如当用户输入一条“ls”命令之后,shell就要找到该命令对应的文件并执行.通常shell都会设置一个名叫PATH的环境变量,其中保存 ...
- shell script 学习笔记-----标准输出
1.将标准输出(stdout)和标准错误输出(stderr)分别重定向到两个不同的文件 其中符号'>'默认将标准输出重定向,意思和'1>'相同,‘2>'表示重定向标准错误输出,数字1 ...
- Linux shell 菜鸟学习笔记....
20171123 Linux shell 基础学习笔记1. shell 的开始 一般是 #!/bin/bash 通过 #! 来唯一指定使用的shell路径 其他的 # 都表示注释.2. shell 的 ...
- bash shell学习-shell script基础 (笔记)
A chain no stronger than its weakest link. "一着不慎,满盘皆输" 参考资料:鸟哥的Linux私房菜 基础学习篇(第三版) Linux ...
- shell编程学习笔记【原创】
本文为本人学习笔记,如有转载请注明出处,谢谢 一.Bourne Shell 有如下四种变量: 用户自定义变量 位置变量,即命令行参数 预定义变量 环境变量 二.位置变量 $ 与键入的命令行一样,包含脚 ...
- shell脚本学习笔记
1.判断符号:中括号[ ] [ ]进行数据的判断,例如我想知道HOME这个变量是否为空,[ -z "$HOME" ],或者两个字符串是否相等,[ "$HOME" ...
- Linux Shell编程学习笔记——目录(附笔记资源下载)
LinuxShell编程学习笔记目录附笔记资源下载 目录(?)[-] 写在前面 第一部分 Shell基础编程 第二部分 Linux Shell高级编程技巧 资源下载 写在前面 最近花了些时间学习She ...
- shell script 入门 笔记
shell script 入门 在 shell script 注意必须使用完全相同写在下面: 1. 指令的运行是从上而下.从左而右的分析与运行: 2. 指令的运行就如同第五章内提到的: 指令.选项 ...
随机推荐
- 【NOIP训练】【数论】超级计算机
题目描述有以下几个问题:1 给定正整数 求方程 的最小非负整数解.2 给定正整数 求方程 的最小非负整数解.3 给定正整数 求方程 在模 意义下解的数量.4 给定正整数 求 的值.其中 ...
- Verilog学习笔记基本语法篇(十)········ 常用系统函数
$display 和 $write 任务 格式: $display (p1,p2,...,pn); $write (p1,p2,..,pn); 这两个函数和系统的任务作用是用来输出信息,即将参数p2到 ...
- 微软Asp.net MVC5生命周期流程图
.NET WEB Development blog 发布了Asp.net MVC5生命周期文档, 这个文档类似Asp.net应用程序生命周期,您以前开发ASP.NET WEB应用程序应该 ...
- Web Service(一) 基础学习
1 基础的Web Service平台是XML+HTTP. 2 Web Service平台的元素包括:SOAP(Simple Object Access Protocol)简单对象访问协议: UDDI( ...
- Gulp-前端进阶A-3---如何不刷新监控文件变化?
npm install --save-dev gulp-connect npm install --save-dev gulp-livereload npm其他,前面已有 var gulp = req ...
- SQLServer处理行转列和列转行
掌握SQL Server 行转列和列转行 1.列转行 数据经过计算加工后会直接生成前端图表需要的数据源,但是程序里又需要把该数据经过列转行写入中间表中,下次再查询该数据时直接从中间表查询数据. 1.1 ...
- ASP.NET Url重写
新建一个类,并实现IHttpModule接口 实现接口,在Init方法中处理请求,在请求方法中实现具体的Url重写操作 补充Url重写方法,通过 Request的Path对象获取请求文件路径,并根据请 ...
- Oracle计算时间差函数
两个Date类型字段:START_DATE,END_DATE,计算这两个日期的时间差(分别以天,小时,分钟,秒,毫秒): 天: ROUND(TO_NUMBER(END_DATE - START_DAT ...
- 自定义带进度条的WebView , 增加获取web标题和url 回掉
1.自定义ProgressWebView package com.app.android05; import android.content.Context; import android.graph ...
- pycharm安装与实践
PyCharm简介 PyCharm是一种Python IDE,带有一整套可以帮助用户在使用Python语言开发时提高其效率的工具,比如调试.语法高亮.Project管理.代码跳转.智能提示.自动完成. ...