关闭

Shell test命令

标签: shelltest
2401人阅读 评论(0) 收藏 举报
分类:

概述

Shell中的 test 命令用于检查某个条件是否成立,它可以进行数值、字符和文件三个方面的测试。

或者使用 [ ] 来判断


数值测试

这里写图片描述

#!/bin/bash
num1=100
num2=100
if test $[num1] -eq $[num2]
then
    echo '两个数相等!'
else
    echo '两个数不相等!'
fi

输出结果:

两个数相等!
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

字符串测试

这里写图片描述

#!/bin/bash
num1="xiaogongjiang"
num2="xiaogongjiang"
if test num1=num2
then
    echo '两个字符串相等!'
else
    echo '两个字符串不相等!'
fi

输出结果:

两个字符串相等!

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

test –z 字符串 #字符串的长度是否为零 

test 字符串1=字符串2 #字符串是否相等,若相等返回true 

test 字符串1!=字符串2 #字符串是否不等,若不等反悔false

文件测试

这里写图片描述

#!/bin/bash

cd /bin
if test -e ./bash
then
    echo '文件已存在!'
else
    echo '文件不存在!'
fi

输出结果:

文件已存在!

另外,Shell还提供了与( -a )、或( -o )、非( ! )三个逻辑操作符用于将测试条件连接起来,其优先级为:”!”最高,”-a”次之,”-o”最低。例如:

cd /bin
if test -e ./notFile -o -e ./bash
then
    echo '有一个文件存在!'
else
    echo '两个文件都不存在'
fi

输出结果:

有一个文件存在!
 test File1 –ef File2 #两个文件是否为同一个文件,可用于硬连接。主要判断两个文件是否指向同一个inode。

 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 bit位

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

 test –L File #文件是否是一个符号链接(同-h) 

 test –o File #文件的属于有效用户ID 

 test –p File #文件是一个命名管道 

 test –r File #文件是否可读 

 test –s File #文件是否是非空白文件 

 test –t FD #文件描述符是在一个终端打开的 

 test –u File #文件存在并且设置了它的set-user-id位 

 test –w File #文件是否存在并可写 

 test –x File #文件属否存在并可执行

判断表达式

if test #表达式为真 

if test ! #表达式为假 

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

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

test 表达式1 ! 表达式2 #条件求反
1
0
查看评论
发表评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场

shell script学习(三)判断式的使用:test命令以及[ ]

shell script中的判断式,顾名思义就是判断一个式子是否满足一定的条件。在script中有如下几种实现方式: 1、使用test命令 先举个简单的例子,比如说判断在当前目录下判断一个文件scri...
  • u011321908
  • u011321908
  • 2014-01-21 10:39
  • 4109

hadoop fs 常用的shell命令行

原博客地址:http://blog.csdn.net/wuwenxiang91322/article/details/22166423 1,Hadoop fs –fs [local ...
  • l_lushuang
  • l_lushuang
  • 2017-04-19 09:36
  • 1180

Hadoop教程(三)HDFS文件系统Shell命令

HDFS是存取数据的分布式文件系统,那么对HDFS的操作,就是文件系统的基本操作,比如文件的创建、修改、删除、修改权限等,文件夹的创建、删除、重命名等。对HDFS的操作命令类似于Linux的shell...
  • yuan_xw
  • yuan_xw
  • 2015-12-07 10:01
  • 4014

Shell脚本test命令使用总结和实例

Shell中的 test 命令用于检查某个条件是否成立,它可以进行数值、字符和文件三个方面的测试。 数值测试 参数 说明 -eq 等于则为真 -ne 不等于则...
  • stephenkung1
  • stephenkung1
  • 2014-08-11 22:54
  • 595

Shell脚本test命令使用总结

Shell中的 test 命令用于检查某个条件是否成立,它可以进行数值、字符和文件三个方面的测试。数值测试 参数 说明 -eq 等于则为真 -ne 不等于则为真 -gt ...
  • qq562029186
  • qq562029186
  • 2017-03-23 14:15
  • 108

linux shell编程学习--test测试比较命令

本文介绍了linux shell自带test命令的各种用法。在linux shell编程过程中,如何使用test命令进行算术比较,文件属性,文件修改,字符串比较,以及逻辑表达式运算的操作。
  • shuanghujushi
  • shuanghujushi
  • 2016-05-14 12:57
  • 2465

shell中test命令用法详解

test命令用法。功能:检查文件和比较值   1)判断表达式   if test  (表达式为真)   if test !表达式为假   test 表达式1 –a 表达式2...
  • xhu_eternalcc
  • xhu_eternalcc
  • 2016-10-25 09:37
  • 219

Shell——test 命令

Shell test 命令Shell中的 test 命令用于检查某个条件是否成立,它可以进行数值、字符和文件三个方面的测试。数值测试 参数 说明 -eq 等于则为真 -ne 不等...
  • sinat_36053757
  • sinat_36053757
  • 2017-04-22 12:17
  • 151

Linux shell 的 test 命令用法详解

shell test
  • heli200482128
  • heli200482128
  • 2016-07-02 14:19
  • 175

Linux test 脚本 shell 命令详解

-b filename 当filename 存在并且是块文件时返回真(返回0) -c filename 当filename 存在并且是字符文件时返回真 -d p...
  • wufangna
  • wufangna
  • 2014-08-19 10:50
  • 372
    个人资料
    • 访问:1195035次
    • 积分:17772
    • 等级:
    • 排名:第622名
    • 原创:455篇
    • 转载:0篇
    • 译文:5篇
    • 评论:147条
    WeChat
      欢迎关注我的公众号,干货只有干货,还有更多惊喜和资源在等着你
    博客专栏