測試的標誌 代表意義

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. 学习笔记 android fragment

    最近研究了一下fragment的使用方法,总结概要如下: 1.fragment实际上就是把activity拆开后的封装块,一个fragment就是一个封装好的一部分.这样以来可以方便复用. 2.fra ...

  2. mysql语句中日期函数和日期的加减运算

    一.秒数和时钟格式的互相转化 SEC_TO_TIME(seconds) 返回seconds参数,变换成小时.分钟和秒,值以'HH:MM:SS'或HHMMSS格式化,取决于函数是在一个字符串还是在数字. ...

  3. equals和“==”

    Integer a = new Integer("3"); Integer b = new Integer(3); System.out.println(a==b); System ...

  4. JSP内置对象---response 响应

    将response.jsp 页面的html标签(包括html.head.body)全部删掉. <%@ page language="java" import="ja ...

  5. Mysql Concat()bug

    1.http://bugs.mysql.com/bug.php?id=12030 CONCAT with INTEGER modifies result-set encoding 2.这个bug的修改 ...

  6. MindManager使用说明

    MindManager是一款很好实现思维导图的软件,唯一有些遗憾的是它并不是免费的,而且价格还不菲. 初识MindManager 正确安装好MindManager之后,打开软件,会发现MindMana ...

  7. UIButtonTypeSystem backBarButtonItem

    当UIButton是UIButtonTypeSystem类型时,改变UIButton的frame,系统会有一个动画改变效果,不想要这个效果,将类型改为UIButtonTypeCustom. backB ...

  8. 64位Win7 VS调试、PLSQL与oracle的连接异常问题

    系统换为64位Win7后,VS与Oracle开发环境出现了很多问题.调试无法连接Oracle,PLSQL无法连接Oracle等一系列问题.下面记录一下处理办法: 1.oracle客户端选择32位进行安 ...

  9. Android性能优化之使用线程池处理异步任务

    转:http://blog.csdn.net/u010687392/article/details/49850803

  10. 2014年6月份第4周51Aspx源码发布详情

    通用医院会员管理系统源码  2014-6-23 [VS2010]功能介绍:本系统共包括以下模块:会员开卡管理.会员充值管理.会员消费管理.会员病例管理.客户预约管理.系统信息管理(门诊管理.卡类型管理 ...