Shell脚本文件检测实例讲解

1. echo $? 语句的作用

  • 用来判断上一条命令执行命令是否成功,0为成功,1为失败
  • 检测文件测试命令是否正确,如文件是否存在,0为存在,1为不存在

2. 检测文件是否存在,0为存在,其他为不存在

Shell脚本文件检测实例讲解_第1张图片

3. 常用的文件检测符号

  • 格式: [ 操作符 文件或目录 ]
  • -d: 测试是否为目录(Directory)
  • -e: 测试目录或文件是否存在(Exist)
  • -f: 测试是否为文件(File)
  • -r: 测试当前用户是否有权限读取(Read)
  • -w: 测试当前用户是否有权限写入(Write)
  • -x: 测试当前用户是否有权限执行(Excute)
  • -L: 测试是否为符号连接文件(Link)

4. shell检测文件是否存在,不存在就创建文件

#!/bin/bash

if [ -f ./file1 ]
then
    echo "file1 is exists!"
else
    echo "file1 is not exists!"
    touch file1
fi

5 shell 检测文件光盘是否被挂载

#!/bin/bash

if [ -e /media/CentOS ]
then
    echo "光盘已经被挂载"
else
   echo "光盘没有被挂载"
   mount /dev/cdrom /media &>/dev/null #没有就挂载上,同时屏蔽提示消息
fi

6. 常用的整数之间的比较符号

  • 格式:[ 整数1 操作符 整数2 ]
  • -eq: 等于(Equal)
  • -ne: 不等于(Not Equal)
  • -gt: 大于(Greater Than)
  • -lt: 小于(Lesser Than)
  • -le: 小于或者等于(Lesser Or Equal)
  • -ge: 大于或者等于 (Greater Or Equal)

7. 整数比较实例

#!/bin/bash

age=30

if [ $age -ge 18 ]
then
    echo "已经成年"
else
    echo "还没有成年"
fi

8. 命令查看当前系统有多少个人登陆

  • who命令查看当前登陆系统的终端数
    在这里插入图片描述
  • who | wc -l 统计输出的行数
    在这里插入图片描述

9. 检测当前系统的磁盘占有率

#!/bin/bash

usespace=`df -Th | grep 'vda' | awk '{print $6}' | cut -d '%' -f1` #`表示运行命令取返回值`

if [ $usespace -ge 43 ]
then
    echo "磁盘占有率超过阈值" | mail -s '磁盘报警' root@localhost
else
   echo "磁盘状态正常"
fi

10. 常用的字符串之间的比较符

  • = :相等的比较符号
  • != :不相等的比较符号
  • -z :为空的字符串比较符号

11. 字符串之间的比较实例

#!/bin/bash

read -p "请输入你的账号:" name
read -p "请输入你的密码:" pass
if [ $name = 'admin' ]  && [ $pass = '123456' ]
then
   echo "验证通过"
else
   echo "用户名或者密码错误"
fi

你可能感兴趣的:(Shell编程,Linux,shell文件检测,Linux磁盘检测)