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.字符串测试表达式参数 字符串需要用""引 ...
随机推荐
- Flash actionscript3.0 多个setTimeout之间会顺序执行 单线程执行 无法中止
做了一个试验,测试能否在另外的setTimeout中中断其他代码的执行.结果表明,是不可能的,Actionscript会按顺序,逐个逐个的执行. private var index:int; priv ...
- oracle 批量更新之将一个表的数据批量更新至另一个表
oracle 批量更新之将一个表的数据批量更新至另一个表 CreationTime--2018年7月3日17点38分 Author:Marydon Oracle 将一个表的指定字段的值更新至另一个 ...
- SettingsMyEclipse
迁移时间--2017年5月20日10:39:42 Author:Marydon-----------------------------------MyEclipse单独设置项---------- ...
- s[-1]和s[len(s)-1]
Python 2.7.10 (default, May 23 2015, 09:40:32) [MSC v.1500 32 bit (Intel)] on win32 Type "copyr ...
- xml DTD中的ELEMENT和ATTLIST
是W3C的一个文档类型定义规则文件,是用来让浏览器根据你定义的DTD(文档类型定义)来解释页面代码的. doctype声明指出阅读程序应该用什么规则集来解释文档中的标记.在Web文档的情况下,“阅读程 ...
- 中国城市线划分—Where do you want to develop......
- MySQL-关于并发下的mysql_insert_id()
我们在写数据库程序的时候, 经常会需要获取某个表中的最大序号数, 或者刚插入的数据的ID值, 一般情况下获取刚插入的数据的id, 使用select max(id) from table 是可以的, 但 ...
- HDUOJ---2955 Robberies
Robberies Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total S ...
- 【LeetCode】46. Permutations (2 solutions)
Permutations Given a collection of numbers, return all possible permutations. For example,[1,2,3] ha ...
- configure: error: newly created file is older than distributed files!
在linux下安装软件包的时候,有时候提示 configure: error: newly created file is older than distributed files!Check you ...