《Shell程式設計例項 —— 自動檢測並掛載硬碟》
阿新 • • 發佈:2020-08-24
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顯示版本資訊