Linux test命令

test命令

    长格式的例子:

test "$A" == "$B" && echo "Strings are equal"

test “$A” -eq “$B” && echo "Integers are equal"
    两个 == 是表示两个字符串是否完全相同的意思

    而-eq是两个数字是否相等的意思。

    简写格式的例子:

[ "$A" == "$B" ] && echo "Strings are equal"

[ "$A" -eq "$B" ] && echo "Integers are equal

-v 用来检测一个变量是否被设置过值,若设置过则$?返回0,没设置过值返回1.

数值测试:

 –gt 

 -ge 

-eq 

-ne 

-lt 

-le 

    这些数值测试可以是整数或负数,甚至算数表达式来比较。但不支持小数点。

test有一个专用的命令中括号

    左中括号[ 是一个命令,空格加右中括号是它的参数

    具体如下:

# [ A ==A ]

# echo $?

# 0

也就是[ A ==A ] 等于 test "$A" == "$A".

左右中括号与后面的参数之间必须有空格.

字符串测试

字符串测试:注意: 此表达式一般用于[[ ]]中;扩展的正则表达式

== 是否等于 示例: [[ a == b ]]中, a == b 与中括号之间都有空格.

> ascii码是否大于ascii码

< 是否小于

!= 是否不等于

=~ 左侧字符串是否能够被右侧的PATTERN所匹配 即 左侧字符串是否包含右侧的,包含为真,不包含为假.

注意:用于字符串比较时的用到的操作数都应该使用引号

-z "STRING“ 字符串是否为空,空为真,不空为假,举例

# A=123

# [ -z $A ]

# echo $?

# 1

-z是当变量有值的时候为假,没有被赋值的时候为真.

-n "STRING“ 字符串是否不空,不空为真,空为假,举例

# A=123

# [ -z $A ]

# echo $?

# 0

-n是当变量有值的时候为真,没有被赋值的时候为假.

存在性测试

-a FILE:同-e FILE:
文件存在性测试,存在为真,否则为假
# [ -e /etc/passwd ]等于test -e /etc/passwda 等于test -a /etc/passwda

# echo $?

# 0
存在性及类别测试
-b FILE

-c FILE

-d FILE://

-f FILE

-h FILE 或 -L FILE:

-p FILE:
-S FILE:

权限测试

    文件权限测试:
-r FILE://

-w FILE: //

-x FILE: //

[ -r /app/passwd -o -w /app/passwd ]  

[ -r /app/passwd -a -w /app/passwd ]  
    文件特殊权限测试:
-u FILE:

-g FILE:
-k FILE:

文件大小测试:

-s FILE: 

-t fd: fd 

-N FILE:

-O FILE:

-G FILE:
双目测试:
FILE1 -ef FILE2: 

FILE1 -nt FILE2: 

FILE1 -ot FILE2: 

多条件判断.并且,或者,非..

第一种方式:

COMMAND1 && COMMAND2 并且 &&等于 -a

COMMAND1 || COMMAND2 或者 ||等于 -o

! COMMAND 非

如:

[[ -r FILE ]] && [[ -w FILE ]] 等于 [ -r /app/passwd -a -w /app/passwd ]

[[ -r FILE ]] || [[ -w FILE ]] 等于 [ -r /app/passwd -o -w /app/passwd ]

第二种方式:

条件1 -a 条件2 并且

条件1 -o 条件2 或者

! EXPRESSION

必须使用测试命令进行,即test或[]

posted on 2018-08-08 14:19  OrochWang 阅读( ...) 评论( ...) 编辑 收藏

转载于:https://www.cnblogs.com/OrochWang/p/9442497.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值