1)判断表达式

if test  (表达式为真)

if test !表达式为假

test 表达式1 –a 表达式2                  两个表达式都为真

test 表达式1 –o 表达式2                 两个表达式有一个为真

2)判断字符串

test –n 字符串                                   字符串的长度非零

test –z 字符串                                    字符串的长度为零

test 字符串1=字符串2                    字符串相等

test 字符串1!=字符串2               字符串不等

3)判断整数

test 整数1 –eq 整数2                        整数相等

test 整数1 –ge 整数2                        整数1大于等于整数2

test 整数1 –gt 整数2                         整数1大于整数2

test 整数1 –le 整数2                         整数1小于等于整数2

test 整数1 –lt 整数2                          整数1小于整数2

test 整数1 –ne 整数2                        整数1不等于整数2

4)判断文件

test  File1 –ef  File2                            两个文件具有同样的设备号和i结点号

test  File1 –nt  File2                            文件1比文件2 新

test  File1 –ot  File2                            文件1比文件2 旧

test –b File                                           文件存在并且是块设备文件

test –c File                                           文件存在并且是字符设备文件

test –d File                                           文件存在并且是目录

test –e File                                           文件存在

test –f File                                            文件存在并且是正规文件

test –g File                                           文件存在并且是设置了组ID

test –G File                                           文件存在并且属于有效组ID

test –h File                                           文件存在并且是一个符号链接(同-L)

test –k File                                           文件存在并且设置了sticky位

test –b File                                           文件存在并且是块设备文件

test –L File                                           文件存在并且是一个符号链接(同-h)

test –o File                                           文件存在并且属于有效用户ID

test –p File                                           文件存在并且是一个命名管道

test –r File                                            文件存在并且可读

test –s File                                           文件

有关测试和多条件测试,可以看一个例子:
这个shell的作用是判断指定目录下,每一个文件是不是shell脚本文件,判断的依据是这个文件的开始部分是不是以“#!”开始的。
#!/bin/bash

TESTCHARS=2
head="#!"
PATHNAME=$(pwd)

if [ "$#" -eq 1 -a -d "$1" ]
then
    PATHNAME=$1
fi

for file in $(ls $PATHNAME)
do
    if test -f $file ; then
        headchar=`head -c$TESTCHARS $file`
        if test $headchar="$head"
        then
            echo "file $file is a script"
        else
            echo "file $file is not a script"
        fi
    else
        echo "file $file is not a script"
    fi
done
exit 0

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/30272993/viewspace-1753320/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/30272993/viewspace-1753320/

if test 用法相关推荐

  1. c语言中external,static关键字用法

    static用法: 在C中,static主要定义全局静态变量.定义局部静态变量.定义静态函数. 1.定义全局静态变量:在全局变量前面加上关键字static,该全局变量变成了全局静态变量.全局静态变量有 ...

  2. Pandas_transform的用法

    先来看一个实例问题. 如下销售数据中展现了三笔订单,每笔订单买了多种商品,求每种商品销售额占该笔订单总金额的比例.例如第一条数据的最终结果为:235.83 / (235.83+232.32+107.9 ...

  3. Python中yield和yield from的用法

    yield 后面接的是 future 对象 调用方 委托生成器 yield from 直接给出循环后的结果 yield from 委托者和子生成器直接通信 yield from 直接处理stopIte ...

  4. pytorch学习 中 torch.squeeze() 和torch.unsqueeze()的用法

    squeeze的用法主要就是对数据的维度进行压缩或者解压. 先看torch.squeeze() 这个函数主要对数据的维度进行压缩,去掉维数为1的的维度,比如是一行或者一列这种,一个一行三列(1,3)的 ...

  5. python yield 和 yield from用法总结

    #例1. 简单输出斐波那契數列前 N 个数 #缺点:该函数可复用性较差,因为 fab 函数返回 None,其他函数无法获得该函数生成的数列 #要提高 fab 函数的可复用性,最好不要直接打印出数列,而 ...

  6. tf.nn.embedding_lookup()的用法

    函数: tf.nn.embedding_lookup( params, ids, partition_strategy='mod', name=None, validate_indices=True, ...

  7. OpenMP用法大全

    OpenMP基本概念 OpenMP是一种用于共享内存并行系统的多线程程序设计方案,支持的编程语言包括C.C++和Fortran.OpenMP提供了对并行算法的高层抽象描述,特别适合在多核CPU机器上的 ...

  8. Dorado用法与示例

    Dorado用法与示例 dorado用后总结 一.dorado概念 dorado的产品全名是"dorado展现中间件".从产品形态上dorado由两部分组成,第一部分是一个具有AJ ...

  9. TensorFlow用法

    TensorFlow用法 什么是TensorFlow TensorFlow是一个开源软件库,用于使用数据流图进行数值计算.图中的节点表示数学运算,而图的边缘表示流动的多维数据数组(张量).这种灵活的体 ...

  10. TensorFlow Keras API用法

    TensorFlow Keras API用法 Keras 是与 TensorFlow 一起使用的更高级别的作为后端的 API.添加层就像添加一行代码一样简单.在模型架构之后,使用一行代码,可以编译和拟 ...

最新文章

  1. python 列表转字典
  2. 使用PyTorch训练图像分类器
  3. make后gcc出现不全_Linux零基础:C语言和gcc
  4. mysql+性能优化+命令_MySQL性能优化
  5. OSPF中DR和BDR作用简述
  6. python 2048源码_一个python的2048简单实现
  7. Android蓝牙开发浅析
  8. 模板 manacher算法
  9. cocos2d-x 3.0对label的改进
  10. c语言上机作业数组,2015二级c语言上机题库
  11. java统计系统工具类
  12. jquery ui php,推荐10款最热门jQuery UI框架[原创]_jquery
  13. 三翼鸟,用两年开启下一个十年
  14. 使用MATLAB快速提取图片数据
  15. linux编译文件 no such,Linux中编译或安装程序时提示No such file or directory
  16. LRUCache的C++实现
  17. 用 Python 爬取电影,这些电影真的很不错
  18. 哪些在职人员可以考一级消防工程师
  19. 计算机考研面试题复习
  20. python怎么让电脑说话_懒人专用的奇淫技巧,用Python实现炫酷的语音操作电脑

热门文章

  1. vue中使用Vue-i18n插件实现页面中英文切换详细教程
  2. 信号处理--常用术语
  3. 电脑如何关闭全屏开始屏幕
  4. 坚守初心,让数据成为生产力!
  5. foxipdf和adobe_过去和将来的活动:Adobe Max North America和CFCAMP澳大利亚
  6. SDUT OJ 2132 (一般算术表达式转换成后缀式)
  7. 2022K+全球软件研发行业创新峰会议题海选精彩进行中
  8. 把图片转成像素点保存到Excel中
  9. delphi如何将字符串复制到剪贴板上
  10. 实现多数据源混合计算的方案之一