美文网首页
shell 判断

shell 判断

作者: 蓝山_d851 | 来源:发表于2020-11-23 21:16 被阅读0次

判断逻辑,文件,权限,数值

文档类型判断
  • -f 判断filename是否为文件
  • -d 判断filename是否为目
  • -e 该档名是否存在
  • -b 该档名是否是个块设备
  • -c 该档名是否存在且为一个字符设备
  • -S 该档名是否存在并且为一个Socket 接口文件。
  • -p 该档名是否存在并且是一个管道文件
  • -L 该档名是否为一个软链接
文件权限判断
  • -r 判断该文档是否有可读权限
  • -w 判断该文档是否有可写权限
  • -x 判断该文档是否有可执行权限
  • -s 判断该文档是否是空文档
  • -u
  • -g
  • -k
两个文件之间的对比
  • -nat判断file1 是否比file2 新
  • -ot 判断file1 是否比file2 旧
  • -ef 判断两个文件是否 为同一个文件
两个整数之间的判定
  • -eq 两数相等
  • -ne 两数不等于
  • -gt n1大于n2
  • -lt n1小于n2
  • -ge n1大于等于n2
  • -le n1小于等于n2
字符串判断
  • -z 判断字符串是否为0? 若 string为空字符串,则为true
  • -n 判断字符串是否为0? 若为空则为false
  • -str1==str2 str1等于str2,若相等则回传true
  • -str1!=str2 str1不等于str2,若相等则回传true
多重条件判断
  • -a and 两状况同事成立!则true
  • -o -or两个任何一个成立则true
  • ! 取反,如 test ! -x file,当file不具有x 时则回传 true

判断文件属性

#!/bin/bash
#1.输入文档名,并且判断是否输入字符串
read -p "input a filename"  filename
test -z $filename && echo  "you MUST input a  filename"  && exit 0

#2. 判断文件是否存在,不存在则结束脚本
test ! -e $filename && echo " The filename '$filename'   DO NOT exist " &&  exit 0

#3. 开始判断该文件的属性
test -f $filename  && filetype="regulare file"
test -d $filename  && filetype="directory"
test -r $filename  && perm="readable"
test -w $filename  && perm="${perm} writable"
test -x $filename  && perm="${perm} executable"

#4. 开始输出
echo "The filename: $filename is a $filetype"
echo "And the permissions for you are: ${perm}"
~                                                  

相关文章

网友评论

      本文标题:shell 判断

      本文链接:https://www.haomeiwen.com/subject/cttzbktx.html