測試的標誌 代表意義

1. 關於某個檔名的『檔案類型』判斷,如 test -e filename 表示存在否

-e 該『檔名』是否存在?(常用)

-f 該『檔名』是否存在且為檔案(file)?(常用)

-d 該『檔名』是否存在且為目錄(directory)?(常用)

-b 該『檔名』是否存在且為一個 block device 裝置?

-c 該『檔名』是否存在且為一個 character device 裝置?

-S 該『檔名』是否存在且為一個 Socket 檔案?

-p 該『檔名』是否存在且為一個 FIFO (pipe) 檔案?

-L 該『檔名』是否存在且為一個連結檔?

2. 關於檔案的權限偵測,如 test -r filename 表示可讀否 (但 root 權限常有例外)

-r 偵測該檔名是否存在且具有『可讀』的權限?

-w 偵測該檔名是否存在且具有『可寫』的權限?

-x 偵測該檔名是否存在且具有『可執行』的權限?

-u 偵測該檔名是否存在且具有『SUID』的屬性?

-g 偵測該檔名是否存在且具有『SGID』的屬性?

-k 偵測該檔名是否存在且具有『Sticky bit』的屬性?

-s 偵測該檔名是否存在且為『非空白檔案』?

3. 兩個檔案之間的比較,如: test file1 -nt file2

-nt (newer than)判斷 file1 是否比 file2 新

-ot (older than)判斷 file1 是否比 file2 舊

-ef 判斷 file1 與 file2 是否為同一檔案,可用在判斷 hard link 的判定上。 主要意義在判定,兩個檔案是否均指向同一個 inode 哩!

4. 關於兩個整數之間的判定,例如 test n1 -eq n2

-eq 兩數值相等 (equal)

-ne 兩數值不等 (not equal)

-gt n1 大於 n2 (greater than)

-lt n1 小於 n2 (less than)

-ge n1 大於等於 n2 (greater than or equal)

-le n1 小於等於 n2 (less than or equal)

5. 判定字串的資料

test -z string 判定字串是否為 0 ?若 string 為空字串,則為 true

test -n string 判定字串是否非為 0 ?若 string 為空字串,則為 false。

註: -n 亦可省略

test str1 == str2 判定 str1 是否等於 str2 ,若相等,則回傳 true

test str1 != str2 判定 str1 是否不等於 str2 ,若相等,則回傳 false

6. 多重條件判定,例如: test -r filename -a -x filename

-a (and)兩狀況同時成立!例如 test -r file -a -x file,則 file 同時具有 r 與 x 權限時,才回傳 true。

-o (or)兩狀況任何一個成立!例如 test -r file -o -x file,則 file 具有 r 或 x 權限時,就可回傳 true。

! 反相狀態,如 test ! -x file ,當 file 不具有 x 時,回傳 true

Default Title的更多相关文章

  1. angular设置title

    Javascript框架在处理seo方面存在问题,因为爬虫在检索seo信息的时候会读不了js给其赋的值,导致搜索引擎收录不了或者收录了无效的信息,比如收录的可能是title={{title}}这样的, ...

  2. DotLiquid模板引擎简介

    DotLiquid是一个在.Net Framework上运行的模板引擎,采用Ruby的Liquid语法,这个语法广泛的用在Ruby on rails和Django等网页框架中. DotLiquid相比 ...

  3. Nodejs之MEAN栈开发(二)----视图与模型

    上一节做了对Express做了简单的介绍,提出了controller,介绍了路由.这一节将重点放到视图和模型上,完成几个静态页面并部署到heroku上. 导航 前端布局使用bootstrap,从官网下 ...

  4. tornado 学习笔记9 Tornado web 框架---模板(template)功能分析

            Tornado模板系统是将模板编译成Python代码.         最基本的使用方式: t = template.Template("<html>{{ myv ...

  5. Nancy之静态文件处理

    今天我们来谈谈Nancy中的静态文件(JavaScript,CSS等)该如何处理. 在前面的Demo中,我们也已经用到了这一块的内容, 但并没有深入理解,只是停留在使用的层面上. 在进入今天的正题之前 ...

  6. Nancy之ModelBinding(模型绑定)

    过年前的最后一篇博客,决定留给Nancy中的ModelBinding 还是同样的,我们与MVC结合起来,方便理解和对照 先来看看MVC中简单的ModelBinding吧 // POST: Author ...

  7. python之数据库操作

    数据库操作 Python 操作 Mysql 模块的安装 1 2 3 4 5 linux:     yum install MySQL-python   window:     http://files ...

  8. 通过GitHub Pages建立个人站点总结与体会

    通过GitHub Pages建立个人站点总结与体会 ----Git+Github+Jekyll+Markdown blog Git (不会?请参照简易教程学习Git的总结) 首先感谢雨知网站作者博文指 ...

  9. bootstrap dialog 使用模态对话框

    bootstrap3-dialog 使用模态对话框 <div class="modal fade"> <div class="modal-dialog& ...

随机推荐

  1. C#之委托

    委托是C#中非常重要的一个概念,并在C#中得到了丰富的应用,如事件,线程等.那什么是委托呢?具体来说,委托是一种引用方法的类型.一旦为委托分配了方法,委托将与该方法具有完全相同的行为.委托方法的使用可 ...

  2. 导航效果css

    <!doctype html> <html> <head> <meta charset="utf-8" /> <style&g ...

  3. S3C6410开发板开发环境的搭建

    本节主要介绍了S3C6410开发板及OK6410开发板.OK6410开发板是基于ARM11处理器的S3C6410,采用“核心版+底板”结构 主要步骤如下:. OK6410开发板自带一个串口,PC也需要 ...

  4. 讨论SEO中是锚文本有效,还是纯文本有效呢?

    现在很多SEO好友不断在讨论,在SEO优化中,到底是锚文本有效,还是纯文本有效呢? 在这里给大家举一下列子:如“张家口人才网”这样的就叫做锚文本,意思是在原有的文本中加上超级链接,指向到优化的网页上面 ...

  5. JS详解

    事件源对象:event.srcElement.tagName  event.srcElement.type 捕获/释放:event.srcElement.setCapture();  event.sr ...

  6. Matlab中的mapminmax函数学习

    premnmx() is obselete. Use MAPMINMAX instead. >> x1=[1 2 4] >> [y,ps]=mapminmax(x1); 得到: ...

  7. jacoco原理

    Jacoco的原理 转自:kingzzm 的博客,感谢~ 覆盖率计数器 Jacoco使用一系列的不同的计数器来做覆盖率的度量计算.所有这些计数器都是从java的class文件中获取信息,这些class ...

  8. 程序内部让用户直接上appstore评价游戏的链接地址以及跳转方法

    NSString *str = [NSString stringWithFormat:@"itms-apps://ax.itunes.apple.com/WebObjects/MZStore ...

  9. freeCAD特性列表

    通用特性 基本应用 FreeCAD 是跨平台的. 它在 Windows Linux 和 Mac OSX 等平台上运行表现一致. FreeCAD 是图形化应用程序. FreeCAD 基于著名的 GUI ...

  10. Diwali

    转帖 今天是印度新年(Diwali), 全公司庆祝,午饭不要钱   一.不到美国不知道,三人行必有我师,二人行必有老印.. 一大早“春眠不觉晓,处处闻老印”:晚上遛个弯“举头望明月,低头见老印”:到山 ...