shell脚本判断文件类型

[kiosk@asimov ~]$ vim check_file.sh
shell脚本判断文件类型_第1张图片

$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

你可能感兴趣的:(linux)