shell脚本判断文件类型

[kiosk@asimov ~]$ vim check_file.sh
在这里插入图片描述

$1在shell中称为“位置参数”,表示传入的第1个参数(第1个入参)。
test -z $1 是一个判断表达式,用于判断$1的值是否为空字符串。
虽然 Linux 和 UNIX 的每个版本中都包含 test 命令,但该命令有一个更常用的别名 — 左方括号:[test 及其别名通常都可以在/usr/bin 或 /bin (取决于操作系统版本和供应商)找到。
比如:
  test expression
  [ expression ]
  在这两种情况下,test 都评估一个表达式,然后返回真或假。如果它和 if、while 或 until 命令结合使用,则您可以对程序流进行广泛的控制。
不过,您无需将 test 命令与任何其它结构一起使用;您可以从命令行直接运行它来检查几乎任何东西的状态。
test 文件运算符
  利用这些运算符,您可以在程序中根据对文件类型的评估结果执行不同的操作:
  -b file 如果文件为一个块特殊文件,则为真
  -c file 如果文件为一个字符特殊文件,则为真
  -d file 如果文件为一个目录,则为真
  -e file 如果文件存在,则为真
  -f file 如果文件为一个普通文件,则为真
  -g file 如果设置了文件的 SGID 位,则为真
  -G file 如果文件存在且归该组所有,则为真
  -k file 如果设置了文件的粘着位,则为真
  -O file 如果文件存在并且归该用户所有,则为真
  -p file 如果文件为一个命名管道,则为真
  -r file 如果文件可读,则为真
  -s file 如果文件的长度不为零,则为真
  -S file 如果文件为一个套接字特殊文件,则为真
  -t fd 如果 fd 是一个与终端相连的打开的文件描述符(fd 默认为 1),则为真
  -u file 如果设置了文件的 SUID 位,则为真
  -w file 如果文件可写,则为真
  -x file 如果文件可执行,则为真
##运行shell脚本:

[kiosk@asimov ~]$ sh  +x  check_file.sh  /mnt/
is  a directory
[kiosk@asimov ~]$ sh  +x  check_file.sh  /etc/passwd
is a file
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值