Linux Bourne shell/Bash shell的test命令

test命令用于在shell编程中各种状态表达式,可以测试文件、目录、plain文本、可读文件等属性。用法如下:

  • -b 文件:若文件存在且为块设备,则为真
  • -c 文件:若文件存在且为字符设备,则为真
  • -d 文件:若文件存在且为目录,则为真
  • -e 文件:若文件存在,则为真
  • -f 文件:若文件存在且为普通文件,则为真
  • -g 文件:若文件存在且为set-group-id,则为真
  • -k 文件:若文件包含”sticky”位(粘着位)设置,则为真
  • -L 文件:若文件存在且为符号链接,则为真
  • -p 文件:若文件存在且为已命名管道,则为真
  • -r 文件:若文件存在且可读,则为真
  • -s 文件:若文件存在且文件大小大于0,则为真
  • -S 文件:若文件存在且为套接字,则为真
  • -t [fd]: 若在终端打开fd,则为真;若省略fd,则默认为1(标准输出)
  • -u 文件:若文件存在且包含set-user-id位设置,则为真
  • -w 文件:若文件存在且可写,则为真
  • -x 文件:若文件存在且可执行,则为真
  • -0 文件:若文件存在且拥有有效用户ID,则为真
  • -G 文件:若文件存在且拥有有效组ID,则为真
  • 文件1 -nt 文件2:若文件1(以修改日期为准)比文件2晚,则为真
  • 文件1 -ot 文件2:若文件1比文件2早,则为真
  • 文件1 -ef 文件2:若文件1和文件2具有相同设备、索引节点编号,则为真
  • -z 字符串:若字符串长度为0,则为真
  • -n 字符串:若字符串长度不为0,则为真
  • 字符串1=字符串2:丙字符串相同则为真
  • 字符串1!=字符串2:丙字符串不同则为真
  • ! 表达式:表达式为假,则为真
  • 表达式1 -a 表达式2:表达式1和表达式2均为真,则为真
  • 表达式1 -o 表达式2:两个表达式之一为真,则为真
  • 参数1 OP 参数2:OP表示以下之一:-eg、-ne、-lt、-le、-gt或-ge。以上数值的每个二元运算符在参数1等于、不等于、小于、小于等于、大于、大于等于参数2时为真。

示例:

#!/bin/sh

if [-f file]
then
    echo "file exists"
else
    echo "file not found"
fi

if [-d file]
then
    echo "file is a directory"
else
    echo "file is not a directory"
fi

if [-s file]
then
    echo "file is not of zero length"
else
    echo "file size is zero length"
fi

if [-r file -a -w file]
then
    echo "file is readable and writable"
else
    echo "file is not readable/writable"
fi
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值