Linux Shell 04 数字/字符串/文件测试
一. 数字测试
格式:n1 -op n2
测试操作op:
eq/ne/le/ge/lt/gt --> 等于/不等于/小于等于/大于等于/小于/大于
1. 数字比较可以使用特殊的(())操作符,用法更接近于C语言,见数字测试。
二. 字符串测试
s1 = s2 #s1与s2是否相同
s1 != s2 #s1与s2是否不相同
s1 < s2 #s1是否小于s2
s1 > s2 #s1是否大于s2
-n s1 #s1长度是否大于0
-z s1 #s1长度是否为0
1. 字符串比较的时候大于小于符号"<>"需要转义
if [ $s1 \> $s2]
then
echo "$s1 is greater than $s2"
else
echo "$s2 is greater than $s1"
fi
2. 字符串大小比较使用字符的ASCII码值比较,即大写字母小于小写字母。(而sort命令的排序方式恰好相反)
3. 未定义的变量字符串长度为0
三. 文件测试
格式: f1 -nt f2 f1是否比f2新
f1 -ot f2 f1是否比f2旧
-op file
op操作符:
e/d/f/r/w/x/s/L/O/G --> 是否 存在/目录/文件/可读/可写/可执行/存在且不为空/符号链接/当前用户拥有/当前组拥有
1.比较文件的新旧时按照创建时间比较的,且要求两个文件都存在,否则返回失败条件
if [ -G $HOME/test ]
then
echo "You are in the same group as the file"
else
echo "The file is not owned by your group"
fi
Linux Shell 04 数字/字符串/文件测试的更多相关文章
- linux shell 命令获取字符串/文件的MD5值
获取字符串的MD5值: 字符串“hello”的MD5: $ echo -n 'hello'|md5sum|cut -d ' ' -f1 得到的MD5值: 5d41402abc4b2a76b9719d9 ...
- linux shell学习(字符串操作)--01
http://blog.csdn.net/shuanghujushi/article/details/51298672 在bash shell的使用过程中,经常会遇到一些字符串string的操作,下面 ...
- Shell基本运算符之文件测试符
文件测试运算符 ================摘自菜鸟教程================= 文件测试运算符用于检测UNIx文件的各种属性: 操作符 说明 例子 -b 检测文件是否是块设备文件,如果 ...
- Linux Shell编程(19)——测试与分支
case和select结构在技术上说不是循环,因为它们并不对可执行的代码块进行迭代.但是和循环相似的是,它们也依靠在代码块的顶部或底部的条件判断来决定程序的分支.在代码块中控制程序分支case (in ...
- linux shell下除了某个文件外的其他文件全部删除的命令
Linux反选删除文件 最简单的方法是 # shopt -s extglob (打开extglob模式) # rm -fr !(file1) 如果是多个要排除的,可以这样: # rm -r ...
- Linux Shell脚本读写XML文件
在Linux下如何用Shell脚本读写XML?现有一个config.xml <?xml version="1.0" encoding="UTF-8"?&g ...
- linux shell 之终端读写文件数据流和重定向>,<,<<,>>
终端实现文件中数据流的读写: 重定向命令列表如下: 命令 说明 command > file 将输出重定向到 file.将终端数据写到文件file中 command < file 将输入重 ...
- 【操作系统作业—lab1】linux shell脚本 遍历目标文件夹和所有文件 | 包括特殊字符文件名的处理
要求:写一个linux bash脚本来查看目标文件夹下所有的file和directory,并且打印出他们的绝对路径. 运行command:./myDir.sh input_path output_ ...
- linux Ubuntu14.04 make编译文件报错:No rule to make target `/usr/lib/libpython2.7.so', needed by `python/_pywraps2.so'. Stop.
错误过程:当“make”编译文件时报错No rule to make target `/usr/lib/libpython2.7.so', needed by `python/_pywraps2.so ...
随机推荐
- sprint3(第八天)
昨天忘了发博客,最近在整合前台和后台的内容,在sprint结束前应该能整合好,然后实现前后台的联系,实现点餐功能. 最近要准备大作业也要复习四六级考试,所以花在项目的时间比较少了,请老师谅解. 燃尽图
- ListBox实现拖拽排序功能
1.拖拽需要实现的事件包括: PreviewMouseLeftButtonDown LBoxSort_OnDrop 具体实现如下: private void LBoxSort_OnPreviewMou ...
- C#更改win7系统时间的代码,以及为什么更改不成功
我在用C#更改win7系统的时间时(必须用管理员的权限,点击要运行程序,鼠标右键“以管理员权限运行”),下面列出了3张图片,使用第一张的代码执行不成功,使用第二张图片可以执行成功,第三张图片是说明原因 ...
- 重新想象 Windows 8 Store Apps (56) - 系统 UI: Scale, Snap, Orientation, High Contrast 等
[源码下载] 重新想象 Windows 8 Store Apps (56) - 系统 UI: Scale, Snap, Orientation, High Contrast 等 作者:webabcd ...
- spring详解(1)
1. 什么是spring? Spring 是一个开源框架,是为了解决企业应用程序开发复杂性而创建的.框架的主要优势之一就是其分层架构,分层架构允许您选择使用哪一个组件,同时为 J2EE 应用程序开发 ...
- ahjesus让nodejs支持dotjs模板
经过几天的实验加搜索,终于知道一个中间件可以解决这个问题了 npm install consolidate consolidate传送门 传送门2使用说明传送门快照:ahjesus Since doT ...
- centos 7安装mysql报错-bash: ./scripts/mysql_install_db: /usr/bin/perl: bad interpreter: No such file or directory
[root@localhost mysql]# ./scripts/mysql_install_db --user=mysql -bash: ./scripts/mysql_install_db: ...
- Android Studio 中 FAILURE: Build failed with an exception. * What went wrong: Execution failed for task ':compileDebugAidl'.的问题解答
Android Studio 中 FAILURE: Build failed with an exception. * What went wrong: Execution failed for ta ...
- HTML CSS样式表布局
一.position:fixed 锁定位置(相对于浏览器的位置),例如有些网站的右下角的弹出窗口. 示例: 二.position:absolute 1.外层没有position:absolute(或r ...
- ASP.NET本质论第二章应用程序对象学习笔记1
1.请求的处理参数—上下文对象HttpContext 1) 针对每一次请求,ASP.NET将创建一个处理这次请求所使用的HttpContext对象实例,这个对象实例将用来在ASP.NET服务器的处理过 ...