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. 指令的运行就如同第五章内提到的: 指令.选项 ...
随机推荐
- csharp: MongoDB
安装配置: Install MongoDB on Windows(安装配置官方参考) http://docs.mongodb.org/manual/tutorial/install-mongodb-o ...
- Windows nexus 启动失败
现象: nexus Windows系统服务安装成功,但启动失败 D:\nexus-2.10.0-02-bundle\nexus-2.10.0-02\bin>nexus.bat Usage: ne ...
- windows远程控制
windows+r 输入 mstsc 打开远程控制 首先,确定目标机器支持远程控制 问题解决: Win7远程桌面提示您的凭据不工作: http://jingyan.baidu.com/article ...
- [python学习笔记]Day3
函数 如: def is_leapyear(year): if (year%4 == 0 and year%100 != 0) or (year%400 == 0): return True else ...
- Oracle锁表与解锁
查看锁表语句:方法1: select sess.sid, sess.serial#, lo.oracle_username, lo.o ...
- Visual Studio 2013下JSON可视化工具
Visual Studio 2013现在我们有个小工具可以实现JSON可视化,这样给我们调试JSON提供了便利. JSON这种数据格式已经比较流行,在WEB前端随处可见. 在你需要安装VS ...
- IPC机制--Binder
文章来自 Android技术内幕 系统卷 转:http://www.linuxidc.com/Linux/2011-08/40508.htm 什么是IPC机制以及IPC机制的种类 在Linux中,是以 ...
- <<摩托车修理技术与禅>>读书笔记
一旦想要求快,就表示你再也不关心它,而想去做别的事. 感触比较大的一句话.其实每个人看书,都有不同的侧重点,不同经历的人看同样的书,收获是不一样的,所以不能在乎收获多少,只要有收获就行.
- c++中string的常用函数说明
string可以说是是字符数组的升级版,使用更加啊方便,不容易出错.本文对string的常用函数进行简单介绍,做到会用即可. string中的常用函数分为四类,即赋值,添加,比较和删除. 一.赋值 1 ...
- 转:使用vs2013打开VS2015的工程文件的解决方案(适用于大多数vs低版本打开高版本)
http://www.cnblogs.com/WayneLiu/p/5060277.html 前言:重装系统前我使用的是vs2015(有点装*),由于使用2015实在在班上太另类了, 导致我想在其他同 ...