1. 程式人生 > 實用技巧 >《Shell程式設計例項 —— 自動檢測並掛載硬碟》

《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顯示版本資訊