shell学习笔记之条件(二)
test或者[
#检查文件是否存在
if test -f read.c
then
...
fi if [ -f read.c ]
then
...
fi #如果then和if在同一行上,就应该用;把if和then分开
if [ -f read.c ];then
...
fi
注意:
1.if空格[空格xxx空格]都有空格
2.test命令的退出码(表明条件是否满足),决定是否要执行后面的代码
------------------------------------------------------------------------------
字符串比较
string1 == string2
string1 != string2
-n string 字符串不为空
-z string 字符串为null(一个空串)
算数比较
exp1 -eq exp2 ==
exp1 -ne exp2 !=
exp1 -gt exp2 >
exp1 -ge exp2 >=
exp1 -lt exp2 <
exp1 -le exp2 <=
!exp1
文件有关的测试
-d file 目录
-e file 文件存在,不可移植,常用-f
-f file 普通文件 -r file 文件可读
-w file 文件可写
-x file 文件可执行
-s file 文件大小不为0 -u file 文件的set-user-id位被设置则为真
-g file 文件的set-group-id位被设置则为真
使用
set-user-id set-uid位授予了程序其拥有者的访问权限而不是其使用者的访问权限
set-group-id set-gid
各种与文件有关的条件测试的结果为真的前提是文件必须存在
#!/bin/sh if [ -f /bin/bash ]
then
echo "file /bin/bash exists"
fi if [ -d /bin/bash ]
then
echo "file /bin/bash is a directory"
else
echo "file /bin/bash is NOT a directory"
fi
shell学习笔记之条件(二)的更多相关文章
- SHELL学习笔记----IF条件判断,判断条件
SHELL学习笔记----IF条件判断,判断条件 前言: 无论什么编程语言都离不开条件判断.SHELL也不例外. if list then do something here ...
- shell 学习笔记8-case条件语句
一.case语句简介 1.什么是case条件语句 case条件语句就相当于多分支的if/elif/else条件语句,但是比这样的语句更规范更好看,经常被用在失效系统服务启动脚本等企业应用中 程序将ca ...
- Shell 学习笔记之条件语句
条件语句 if # if if condition then command fi # if else if condition then command else command fi # if e ...
- shell学习笔记汇总
1.shell脚本中函数使用 函数定义在前,调用在后,顺序反了就没有效果了.函数调用为:函数名 参数列表 函数内部通过以下变量访问函数的参数:shell脚本函数中: $0: 这个脚本的名字 $n: 这 ...
- SHELL学习笔记三
SHELL学习笔记一 SHELL学习笔记二 SHELL学习笔记三 for 命令 读取列表中的复杂值 从变量读取列表 从命令读取值 更改字段分隔符 用通配符读取目录 which 使用多个测试命令 unt ...
- shell学习笔记
shell学习笔记 .查看/etc/shells,看看有几个可用的Shell . 曾经用过的命令存在.bash_history中,但是~/.bash_history记录的是前一次登录前记录的所有指令, ...
- VSTO 学习笔记(十二)自定义公式与Ribbon
原文:VSTO 学习笔记(十二)自定义公式与Ribbon 这几天工作中在开发一个Excel插件,包含自定义公式,根据条件从数据库中查询结果.这次我们来做一个简单的测试,达到类似的目的. 即在Excel ...
- [转帖][Bash Shell] Shell学习笔记
[Bash Shell] Shell学习笔记 http://www.cnblogs.com/maybe2030/p/5022595.html 阅读目录 编译型语言 解释型语言 5.1 作为可执行程序 ...
- shell 学习笔记2-shell-test
一.字符串测试表达式 前面一篇介绍:什么是shell,shell变量请参考: shell 学习笔记1-什么是shell,shell变量 1.字符串测试表达式参数 字符串需要用""引 ...
随机推荐
- 【Spark】RDD操作具体解释3——键值型Transformation算子
Transformation处理的数据为Key-Value形式的算子大致能够分为:输入分区与输出分区一对一.聚集.连接操作. 输入分区与输出分区一对一 mapValues mapValues:针对(K ...
- 【shell】正则表达式
当一个文件或命令输出中抽取或过滤文本时,可以使用正则表达式(RE),正则表达式是一些特殊或很不特殊的字符串模式的集合. 在Linux中grep.awk.sed均可解释正则 1.基本元字符集及其定义 ^ ...
- 【BIRT】在页面上展示xxxx年xx月xx日
我们在做报表开发的时候经常会遇到一个问题,就是需要在报表上展示”xxxx年xx月xx日”这种日期,例如:需要在报表展示日期如下图: 我们现在数据库存储的日期是:20171231 那么我们如何转化为 这 ...
- servlet Servlet例子
Servlet是sun公司提供的一门用于开发动态web资源的技术. Sun公司在其API中提供了一个servlet接口(参看J2EE API文档),用户若想使用Java程序开发一个动态web资源, ...
- jQuery ajax - ajax() 方法详解
一些代码通过jQuery来做ajax异步提交. //验证昵称是否存在 function checkNickNameIsExist(){ var nickName = jQuery("#nic ...
- Mingyang.net:Eclipse定义Maven安装
Eclipse默认会使用内置的Maven安装,这样就可能在导致Eclipse编译时下载一次依赖库,用CMD编译时再下载一次依赖库.打开Ecclipse -> Windows -> Pref ...
- 在MyEclipse中改动jsp页面的默认打开方式
在JavaWeb项目中.当然有非常多jsp页面,可是我发现,双击打开jsp页面总是卡机.相对于打开其它java文件而言非常慢,感觉非常不舒服.MyEclipse中默认打开jsp页面是以可视化的形式展现 ...
- HDUOJ-----4510 小Q系列故事——为什么时光不能倒流
小Q系列故事——为什么时光不能倒流 Time Limit: 300/100 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others)T ...
- HDUOJ-------2149Public Sale
Public Sale Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total ...
- ubuntu 中数据的迁移
1.先停止mysql /etc/init.d/mysql stop