2018/01/23

January 23 2018

Weather: cloudy to overcast !
一、需求:
咱們使用的雲主機,購買一塊雲盤後,默認並非掛載狀態的,用shell寫一個腳本,只要把盤符和掛載點以參數的形式提供給腳本,該腳本就能夠自動格式化、掛載。
要求:shell

  1. 不用分區,直接格式化
  2. 格式化爲ext4文件系統類型
[aming@Dasoncheng ~]$ cat a.sh 
#!/bin/bash
echo "Useage $0 panfu guazaidian for example : $0 /dev/sdf /data"
if [ $# -ne 2 ];
then
    exit
fi
if [ ! -b $1 ];
then
    echo "Plese input a valid device !"
    exit 1
fi
mkfs -t ext4 $1
if [ ! -d $2 ];
then
    mkdir -p $2
fi
n=`grep "$2" /etc/fstab |wc -c`
if [ $n -eq 0 ];
then
    echo "$1 $2                    ext4    defaults        0 0" >> /etc/fstab
    mount -a
else
    mount $1 $2
    echo "The $2 exist in /etc/fstab , plese try again !"
fi
[aming@Dasoncheng ~]$ mount |grep sdb
/dev/sdb on /mnt type ext4 (rw,relatime,data=ordered)

二、需求:
寫一個shell腳本,把192.168.0.0/24網段在線的ip列出來。
思路:for循環,0.1-0.254依次去ping,能通說明在線。bash

[aming@Dasoncheng ~]$ cat b.sh 
#!/bin/bash
ip=192.168.60.
for i in `seq 1 20` ;
do
  ping -c 2 $ip$i &>/dev/null
  if [ $? == 0 ];
  then
      echo "The $ip$i is online;"
  fi
done

參考答案:

一、code

#!/bin/bash
echo "Useage $0 盤符 掛載點, 如: $0 /dev/xvdb /data"
if [ $# -ne 2 ]
then
    exit
fi
if [ ! -b $1 ]
then 
    echo "你提供的盤符不正確,請檢查後再操做"
    exit 1
fi
mkfs -t ext4 $1
if [ ! -d $2 ] ;then
        mkdir -p $2
fi
n=`egrep " $2 " /etc/fstab|wc -l`
if [ $n -eq 0 ]
then
    echo "$1              $2                      ext4   defaults  0  0" >> /etc/fstab
    mount -a
else
    mount $1 $2
    echo "配置文件/etc/fstab中已經存在掛載點$2,請檢查一下."
fi

二、ip

#!/bin/bash
ips="192.168.1."
for i in `seq 1 254`
do
ping -c 2 $ips$i >/dev/null 2>/dev/null
if [ $? == 0 ]
then
    echo "echo $ips$i is online"
else
    echo "echo $ips$i is not online"
fi
done
本站公眾號
   歡迎關注本站公眾號,獲取更多信息