shell中的if语句
语法格式
if command;then
commands
fi
其中的command包含如下:
shell command
任何shell命令,如果shell命令返回0,代表true,否则,代表false。并且多个command可以同时作为if的判断条件,即可以写为:
if command1;command2;command3;then
commands
fi
此时如果command3返回的结果是0,则运行commands,否则不运行,虽然command1和command2也会运行,但是它们运行的返回结果没有任何影响
test condition 或者 [ condition ]
两者等价,其中的condition可以是数字比较,可以是字符串比较,可以是文件比较:
数字比较
num1 eq num2 等于
num1 ne num2 不等于
num1 gt num2 大于
num1 ge num2 大于等于
num1 lt num2 小于
num1 le num2 小于等于
字符串比较
str1 = str2 等于
str1 != str2 不等于
str1 > str2 大于
str1 < str2 小于
-n str str的长度是否大于0
-z str str的长度是否为0
文件比较
-d file file是否为目录
-f file file是否为文件
-e file file是否存在
-s file file存在并且不为空
-r file file存在且可读
-w file file存在且可写
-x file file存在且可以执行
-O file file存在并且属于当前用户
-G file file存在并且属于当前用户所在的initial group(也叫default group)
file1 -nt file2 file1是否比file2新
file1 -ot file2 file1是否比file2旧
condition也可以复合的,通过&& 或者 || 连接:
[ condition1 ] && [ condition2]
[ condition1 ] || [condition2 ]
shell中的if语句的更多相关文章
- Shell中的循环语句实例
1.for循环语句实例1.1 最基本的for循环 #!/bin/bash for x in one two three four do echo number $x done 注:" ...
- shell中的比较语句
Linux比较字符串.判断文件是否存在及是否可读等,通常用"[]"来表示条件测试. 注意:这里的空格很重要.要确保方括号的空格.笔者就曾因为空格缺少或位置不对,而浪费好多宝贵的时间 ...
- shell中的循环语句
for语法格式 for var in list;do commands done 其中list可以包含: 1) 直接写 for alpha in a b c d;do echo $alpha done ...
- Shell中常用的语句
exit 完全中断脚本的执行 break 中断脚本的循环,但是会执行循环外的语句 continue 跳出本次循环,进行下一次循环 进一步了解三者的区别,有如下实验: 执行该脚本: 脚本正常运行情况: ...
- shell中的case语句
case语法: case $arg in arg1) 语句1 ;; arg2) 语句2 ;; *) help 语句 ;; esac eg: eg:
- shell中的循环语句while
循环语句的结构: ------------| while 条件 | do | 需要执行的命令 | done | -----------| 例如: 1.while一直循环 2.whi ...
- shell 中 if then语句中会跟着-ne -ge之类的参数的含义
if [ 1 -ne 1 ];then...fi这是指当1不等于1时执行then后的语句 -eq:等于-ne:不等于-le:小于等于-ge:大于等于-lt:小于-gt:大于
- shell中的判断语句
1.字符串判断 str1 = str2 当两个串有相同内容.长度时为真 str1 != str2 当串str1和str2不等时为真 -n str1 当串的长度大于0时为真(串非空,变量) -z str ...
- shell 中的if语句
if [ t != "." -a t != ".." ] 之前一直不知道 -a 是什么意思,后来才知道 -a = and ; -o = or
随机推荐
- 10 条建议让你创建更好的 jQuery 插件
在开发过很多 jQuery 插件以后,我慢慢的摸索出了一套开发jQuery插件比较标准的结构和模式.这样我就可以 copy & paste 大部分的代码结构,只要专注最主要的逻辑代码就行了. ...
- virtual pc中添加软盘支持
最近对操作系统挺有兴趣的,实验了一下!准备找一个虚拟机,之前在xp上使用virtual pc感觉不错,准备在本机上装一下,但是发现居然不支持软盘了! 查阅了各种资料,终于找到了解决的办法. 1. 下载 ...
- Android性能优化学习
工作以来,越来越觉得性能优化的重要性,从技术角度,它甚至成了决定一个app成败的最关键因素.因此,特地花时间去学习专研性能优化的方法. 学习性能优化最便捷的方式便是研读别人有关性能优化的博客,然而网上 ...
- Selenium2Library+ride学习笔记
一.环境部署 1.安装python2.7编译环境.ride环境以及Selenium2Library环境,环境部署可参见前面几节. 2.启动RIDE编译环境,导入Selenium2Library库. ...
- 一些常用的js,jquerry 样例
1 设置属性 $(document).attr("title", str) 2 删除属性在增加属性 $("#" + bottonname).remo ...
- Ubuntu 怎么在右键添加打开终端
方法一: 搜索nautilus-open-terminal安装 命令行:sudo apt-get install nautilus-open-terminal (如果提示为找的什么的就s ...
- 解压和生成 system.img&data.img ( yaffs2格式)
做为一名Android手机用户, 拿到system.img和data.img不是件难事 有这两个image可以做什么呢? ^_^可以做很多事,比如删除一些不想用的系统应用(/system/app目录下 ...
- JavaScript中的Array对象
1.创建Array对象创建Array对象的语法var 数组名 = new Array();定义数组之后,就需要向数组中添加元素,格式如下数组名[<下标>]=值: 2.Array对象属性Ar ...
- MySQL常用聚合函数
官方文档:Aggregate (GROUP BY) Functions Name Description AVG() Return the average value of the argument ...
- js深入研究之无法理解的js类代码,extend扩展
<script type="text/javascript"> function Person(name) { this.name = name; } Person.p ...