zoukankan      html  css  js  c++  java
  • 《Shell编程实例 —— 自动检测并挂载硬盘》

    1.实例

    #!/bin/sh
    
    if [ ! -d "/mnt/data/" ];then
    	mkdir -p /mnt/data
    fi
    
    MOUNT_DISK()
    {
    	DISK_NAME=`lsblk -l | awk '{if ($3=="0") print}' | grep sd | awk '{print $1}'`
    	
    	if [ -b /dev/$DISK_NAME ];then
    		
    		echo mount /dev/$DISK_NAME /mnt/data
    
    		mount /dev/$DISK_NAME /mnt/data
    
    		chown -R xinda:xinda /mnt/data/
    
    		sync
    	
    	else
    		echo  /dev/$DISK_NAME 不是硬盘设备
    	fi
    }
    
    while true
    do
    
    	sleep 2
    
    	IS_MOUNTED=`df -h | grep /mnt/data | wc -l`
    
    	if [ $IS_MOUNTED -eq 0 ]; then
    		echo "/mnt/data 未挂载!"
    		MOUNT_DISK
    		echo "MOUNT_DISK done!"
    	elif [ $IS_MOUNTED -eq 1 ]; then
    		echo "/mnt/data 已挂载!"
    		sleep 60
    	else
    		echo "/mnt/data 挂载错误! IS_MOUNTED = $(IS_MOUNTED) " 
    	fi
    
    		
    	sleep 3
    	
    done
    

      

    2.部分命令解析

    2.1 wc -l

      Linux系统中的wc(Word Count)命令的功能为统计指定文件中的字节数、字数、行数,并将统计结果显示输出。

    命令参数:

    • -c 统计字节数。
    • -l 统计行数。
    • -m 统计字符数。这个标志不能与 -c 标志一起使用。
    • -w 统计字数。一个字被定义为由空白、跳格或换行字符分隔的字符串。
    • -L 打印最长行的长度。
    • -help 显示帮助信息
    • --version 显示版本信息

      

  • 相关阅读:
    SQL中join的用法
    SQL中sysname数据类型的含义(转)
    MVC-Razor视图
    GridView用法
    常见的23种设计模式
    协程
    Kotlin学习
    数据绑定库和MVVM
    LiveData
    函数式编程
  • 原文地址:https://www.cnblogs.com/zhuangquan/p/13555793.html
Copyright © 2011-2022 走看看