1、文件测试操作

  1. 返回 true 如果...
  2. -e 文件存在
  3. -a 文件存在
  4. 这个选项的效果与-e 相同.但是它已经被弃用了,并且不鼓励使用
  5. -f file 是一个 regular 文件(不是目录或者设备文件)
  6. -s 文件长度不为
  7. -d 文件是个目录-r 文件具有读权限(对于用户运行这个 test)
  8. -w 文件具有写权限(对于用户运行这个 test)
  9. -x 文件具有执行权限(对于用户运行这个 test)

2、整数比较

  1. -eq 等于,如:if [ "$a" -eq "$b" ]
  2. -ne 不等于,如:if [ "$a" -ne "$b" ]
  3. -gt 大于,如:if [ "$a" -gt "$b" ]
  4. -ge 大于等于,如:if [ "$a" -ge "$b" ]
  5. -lt 小于,如:if [ "$a" -lt "$b" ]
  6. -le 小于等于,如:if [ "$a" -le "$b" ]
  7. < 小于(需要双括号),如:(("$a" < "$b"))
  8. <= 小于等于(需要双括号),如:(("$a" <= "$b"))
  9. > 大于(需要双括号),如:(("$a" > "$b"))
  10. >= 大于等于(需要双括号),如:(("$a" >= "$b"))

3、字符串比较

  1. = 等于,如:if [ "$a" = "$b" ]
  2. == 等于,如:if [ "$a" == "$b" ],与=等价
  3. 注意:==的功能在[[]]和[]中的行为是不同的,如下:
  4. [[ $a == z* ]] # 如果$a 以"z"开头(模式匹配)那么将为 true
  5. [[ $a == "z*" ]] # 如果$a 等于 z*(字符匹配),那么结果为 true
  6.  
  7. [ $a == z* ] # File globbing 和 word splitting 将会发生
  8. [ "$a" == "z*" ] # 如果$a 等于 z*(字符匹配),那么结果为 true
  9. 一点解释,关于 File globbing 是一种关于文件的速记法,比如"*.c"就是,再如~也是.
  10. 但是 file globbing 并不是严格的正则表达式,虽然绝大多数情况下结构比较像.
  11. != 不等于,如:if [ "$a" != "$b" ]
  12. 这个操作符将在[[]]结构中使用模式匹配.
  13. < 小于,在 ASCII 字母顺序下.如:
  14. if [[ "$a" < "$b" ]]
  15. if [ "$a" \< "$b" ]
  16. 注意:在[]结构中"<"需要被转义.
  17. > 大于,在 ASCII 字母顺序下.如:
  18. if [[ "$a" > "$b" ]]
  19. if [ "$a" \> "$b" ]
  20. 注意:在[]结构中">"需要被转义.
  21. 具体参考 Example - 来查看这个操作符应用的例子.
  22. -z 字符串为"null".就是长度为 .
  23. -n 字符串不为"null"
  24. 注意:
  25. 使用-n 在[]结构中测试必须要用""把变量引起来.使用一个未被""的字符串来使用! -z
  26. 或者就是未用""引用的字符串本身,放到[]结构中

4、linux变量

  1. $# 是传给脚本的参数个数
  2. $ 是脚本本身的名字
  3. $ 是传递给该shell脚本的第一个参数
  4. $ 是传递给该shell脚本的第二个参数
  5. $@ 是传给脚本的所有参数的列表
  6. $* 是以一个单字符串显示所有向脚本传递的参数,与位置变量不同,参数可超过9
  7. $$ 是脚本运行的当前进程ID
  8. $? 是显示最后命令的退出状态,0表示没有错误,其他表示有错误

linux文件测试操作的更多相关文章

  1. Linux 文件/目录操作详解

    目录 Linux 文件/目录操作详解 初识Linux 一.文件/目录显示命令 ls 二.目录创建命令 mkdir 三.目录转移命令 cd 四.当前目录显示命令 pwd 五.文件处理命令 rmdir 六 ...

  2. Linux文件IO操作函数概述

    文件概述 Linux中,一切皆文件.文件为操作系统服务和设备提供了一个简单而一致的接口.这意味着程序完全可以像使用文件那样使用磁盘文件.串行口.打印机和其他设备. 也就是说,大多数情况下,你只需要使用 ...

  3. Perl文件测试操作和stat函数

    在shell中通过test命令或者中括号[]可以进行文件测试以及其它类型的测试,例如判断文件是否存在,比较操作是否为真等等.perl作为更强大的文本处理语言,它也有文件测试类表达式,而且和shell的 ...

  4. linux 文件常用操作

    linux 文件基本操作 新建文件:touch test 不会替换重名文件,并且linux一切都是文件,文件夹和文件不能重名 新建文件夹:mkdir test使用 -p 参数,同时创建父目录(如果不存 ...

  5. linux条件测试操作(test)和if判断语句,while循环语句,break控制语句和for循环和case多分枝语句和select语句

    条件测试操作 条件测试是专为影响"$?"的操作,是条件转移.循环语句的基础   test测试命令: test 用途:测试特定的表达式是否成立,当条件成立时,命令执行后的返回值为0, ...

  6. Linux文件IO操作

    来源:微信公众号「编程学习基地」 目录 文件操作 Linux文件类型 Linux文件权限 修改文件权限 Linux error 获取系统调用时的错误描述 打印错误信息 系统IO函数 open/clos ...

  7. linux文件IO操作篇 (一) 非缓冲文件

    文件IO操作分为 2 种 非缓冲文件IO 和 缓冲文件IO 它们的接口区别是 非缓冲 open() close() read() write() 缓冲 fopen() fclose() fread() ...

  8. Linux 文件读写操作与磁盘挂载

    文件读写 [文件描述符] Linux下,通常通过open打开一个文件,它然后返回给我们一个整数,通过这个整数便可以操作文件,这个整数我们称文件描述符(fd).对应被打开的文件,它也是一种系统资源,那么 ...

  9. linux 文件夹操作

    一.操作命令 1.创建文件夹 : mkdir 2.创建文件 : touch.vi 3.删除文件/文件夹:rm 删除文件夹的时候使用 -r可以循环删除子目录 4.移动文件/文件夹:mv 移动文件夹,使用 ...

随机推荐

  1. hdu 5111 树上求交

    hdu 5111 树上求交(树链剖分 + 主席树) 题意: 给出两棵树,大小分别为\(n1\),\(n2\), 树上的结点权值为\(weight_i\) 同一棵树上的结点权值各不相同,不同树上的结点权 ...

  2. Disable or enable the IPv6 protocol in Red Hat Enterprise Linux

    Resolution Red Hat Enterprise Linux 4, 5 and 6 enable Internet Protocol Version 6 (IPv6) by default. ...

  3. pagination用法

    pagination用法: 1.html  要用两层div <script src="${app }/pc/js/media/pagination.js"></s ...

  4. linux下修改mysql数据库编码后无法启动解决办法

    linux下老版本的Mysql修改数据库编码的方法是 修改my.cnf vi /etc/my.cnf 在[client]下添加 default-character-set=utf8 在[mysqld] ...

  5. localhost、127.0.0.1和本机IP

    localhost 是个域名,不是地址,它可以被配置为任意的 IP 地址,不过通常情况下都指向 127.0.0.1(ipv4)和 [::1](ipv6) 整个127.* 网段通常被用作 loopbac ...

  6. win7下提权代码

    inline BOOL SetPrivilege() { HANDLE hProcess, hToken; TOKEN_PRIVILEGES NewState; LUID luidPrivilegeL ...

  7. python笔记-冒泡排序【转载】

    本篇转自博客:上海-悠悠 原文地址:http://www.cnblogs.com/yoyoketang/tag/python/ 前言 面试的时候经常有面试官喜欢问如何进行冒泡排序?这个问题相信能难倒一 ...

  8. Android AutoCompleteTextView控件实现类似百度搜索提示,限制输入数字长度

    Android AutoCompleteTextView 控件实现类似被搜索提示,效果如下 1.首先贴出布局代码 activity_main.xml: <?xml version="1 ...

  9. Vue v-for嵌套数据渲染问题

    Vue v-for嵌套数据渲染问题 问题描述: 由于在获取商品子分类的时候,同时需要获取子分类下的商品,那么多层的列表渲染就只能是第一层好用 问题原因: vue在处理多层的渲染的时候,不能直接用等号赋 ...

  10. 天梯L2-003-测试点

    测试点3无法过,题目说是正整数用了int,结果得用double输入才能AC.