1、文件测试操作

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

2、整数比较

-eq 等于,如:if [ "$a" -eq "$b" ]
-ne 不等于,如:if [ "$a" -ne "$b" ]
-gt 大于,如:if [ "$a" -gt "$b" ]
-ge 大于等于,如:if [ "$a" -ge "$b" ]
-lt 小于,如:if [ "$a" -lt "$b" ]
-le 小于等于,如:if [ "$a" -le "$b" ]
<  小于(需要双括号),如:(("$a" < "$b"))
<= 小于等于(需要双括号),如:(("$a" <= "$b"))
>  大于(需要双括号),如:(("$a" > "$b"))
>= 大于等于(需要双括号),如:(("$a" >= "$b"))

3、字符串比较

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

4、linux变量

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

转载于:https://www.cnblogs.com/fulucky/p/8027024.html

linux文件测试操作相关推荐

  1. 嵌入式 Linux 文件IO操作

    目录 Linux 文件操作 1 Linux 系统环境文件操作概念 2 缓冲 IO 文件操作 1 文件的创建,打开与关闭 fopen 函数函数 2 freopen 函数 3.fdopen函数 4.fcl ...

  2. linux文件怎么操作,linux文件操作学习1

    由于实验室的项目需要开始学习linux,为了更好的学习和掌握linux的一些基本操作以及顺便做个备忘录,时间久了也可以看看自己的学习成果. 学习linux应该先抛开windows的C.D.E...盘的 ...

  3. Linux文件权限操作

    权限的意义在于允许某个用户或者某个组以规定的方式去访问某个文件 基本权限: U,G,O这三个字母所代表的意义 U:owner,属主 G:group,属组 O:other,其他用户 UGO方式 Linu ...

  4. linux文件编辑操作,Linux下文本编辑及其文件操作

    文本编辑及其文件操作 Vim 命令模式: dd 删除当前行 yy 2yy nyy 复制 从光标算起,复制n行 p 粘贴 默认粘贴在光标的下一行 u 撤销 末行模式: :wq 保存退出 :wq! 强制保 ...

  5. linux 文件路径操作

    查看文件&路径 ls 查看名称 ll 查看详细信息 移动文件&路径 命令格式 运行结果 mv 文件名 文件名 将源文件名改为目标文件名 mv 文件名 目录名 将文件移动到目标目录 mv ...

  6. Linux文件读取操作:read函数的使用

    read函数作用:读取文件内容,读取打开/创建(open)文件中写入(write)的内容. 包含的头文件: #include <unistd.h> 函数原型: ssize_t read(i ...

  7. linux文件查找操作

    1. 在当前目录及子目录中,查找大写字母开头的txt文件  指令:       $ find . -name '[A-Z]*.txt' -print 2.在/etc及其子目录中,查找host开头的文件 ...

  8. linux 遍历文件及文件夹,linux文件夹操作及递归遍历文件夹(示例代码)

    文件夹相关函数介绍 //mkdir 函数创建文件夹 #include #include int mkdir(const char *pathname, mode_t mode); //rmdir 删除 ...

  9. linux的文件io操作(转)

    linux文件IO操作有两套大类的操作方式:不带缓存的文件IO操作,带缓存的文件IO操作.不带缓存的属于直接调用系统调用(system call)的方式,高效完成文件输入输出.它以文件标识符(整型)作 ...

最新文章

  1. Akka的Actor编程
  2. Centos6 系统下,已经安装vim的前提下。执行操作vim,出现报错
  3. linux脚本中sed -i,Linux 中常用的sed命令
  4. 闲来无事,做了个简单的在线编辑的mock服务
  5. 三包围结构的字是什么样的_拼音带kun的字大全_50个拼音含kun的字组词
  6. LeetCode 966. 元音拼写检查器(哈希)
  7. 大数据Hadoop集群中常用的任务调度框架
  8. CSS选择器(中)——高级选择器
  9. linux 重新安装内核,升级操作系统内核(不重新安装UltraPath)
  10. MOQL--操作数(Operand) (四)
  11. redux-actions入门
  12. js获取文件的后缀名
  13. 【 Codeforces Round #395 (Div. 2) E】Timofey and remoduling【数学思维题 —— 等差/等比数列】
  14. 微信小程序学习日记---模板(template)全解析
  15. 运放参数SR(压摆率)、增益带宽积(GBW)
  16. C++程序设计:输出n层金字塔图形
  17. c语言赋值语句逗号,C++中赋值运算符与逗号运算符的用法详解
  18. 机器学习 深度学习 EM算法 深度解析
  19. 弘辽科技:淘宝提升展现词好吗?淘宝展现词如何提升?
  20. Openzeppelin库第八期:Crowdsale

热门文章

  1. c# xml添加 删除 修改数据
  2. 《深度学习》学习的TIP
  3. 漫步数学分析二十五——等连续函数
  4. oracle推式任务发料,Oracle EBS物料清单管理系统简介.pptx
  5. leetcode - 343. 整数拆分
  6. 去哪儿-22-async-components
  7. Linux学习笔记13
  8. 机器视觉【基础】什么是机器视觉?
  9. nginx 超时时间_Linux从入门到放弃 Nginx
  10. mysql日期代码_mysql日期查询操作代码