linux下Bash编程until语句及格式化硬盘分区等编写脚本(十)
linux下Bash編程until語句及格式化硬盤分區等編寫腳本(十)
1.循環語句結構總結
?1.1.while語句當條件滿足時,進入循環語句
? ?while 條件; do
? ? ?語句
? ?done
?1.2.until語句當條件不滿足時,進入循環語句
? ?until 條件; do
? ? ?語句
? ?done
?1.3.for 變量 in 列表; do?
循環體
? ? done
?1.4.for (( 表達式1; 條件 ; 表達2 )); do?
? ? ? 循環體
? ? done
2.編寫如下腳本,要求是:通過ping命令測試1.1.1.1到1.1.1.30之間的所有主機是否在線,
? ? 如果在線,就顯示"$IP is up."
? ?如果不在線,就顯示"$IP is down."
#!/bin/bash
IP=1
until [ $IP -gt 30 ]; do
? if ping -c 1 -W 1 1.1.1.$IP ?&> /dev/null; then
? ?echo "1.1.1.$IP is up "
? else
? ?echo "1.1.1.$IP is down "
? fi
? ?IP=$[$IP+1]
done
3.寫一個腳本(虛擬機新增一塊硬盤便于測試腳本)
1、列出當前系統上所有的磁盤,讓用戶選擇,如果選擇quit則退出腳本;如果用戶選擇錯誤,就讓用戶重新選擇;
2、當用戶選擇指定硬盤后,提示用戶接下來的操作會刪除所有硬盤數據,并請用戶確認;如果用戶選擇y或Y就繼續,n或N或exit就退出;否則,讓用戶重新選擇;
3、抹除那塊硬盤上的所有分區(提示,抹除所有分區后執行sync命令,并讓腳本睡眠5秒鐘后再分區);并為其創建三個主分區,第一個為200M,第二個為100G, 第三個為2G,且第三個為swap分區類型;(提示:將分區命令通過echo傳送給fdisk即可實現)
#!/bin/bash?
DEBUG=0
fdisk -l 2> /dev/null| grep "^Disk /dev/[sh]d[a-z]"|awk -F: '{print $1}' 顯示當前所有硬盤
echo "quit"
read -p "Your CHOICE:hda|sda|sdb|quit.... " CHOICE
while [ $CHOICE != "quit" ]; do
? case $CHOICE in
? ? hda|sda|sdb)
? ? ?DEBUG=1
? ? ?DISK=$CHOICE ?取出所選擇的硬盤
? ? ?CHOICE="quit";;
? *)
? ? read -p "Again,Your CHOICE:hda|sda|sdb|quit.... " CHOICE
? ? ;;
? esac
done
if [ $DEBUG -eq 1 ]; then
? ? ? read -p ?"You will earse all data: y|n|exit " OPTION
? ? ? until ?[ $OPTION == "exit" ]; do
? ? ? ? ? case ? $OPTION in
? ? ? ? ? ? y|Y)
? ? ? ? ? ? dd if=/dev/zero of=/dev/$DISK bs=512 count=1 刪除指定硬盤分區
? ? ? ? ? ? sync
? ? ? ? ? ? sleep 5
? ? ? ? ? ? echo "n ?對指定硬盤開始重新分區
? ? ? ? ? ? ?p
? ? ? ? ? ? ?1
? ? ? ? ? ? ?+200M
? ? ? ? ? ? ?n
? ? ? ? ? ? ?p
? ? ? ? ? ? ?2
? ? ? ? ? ? ?+200G
? ? ? ? ? ? ?n
? ? ? ? ? ? ?p
? ? ? ? ? ? ?3
? ? ? ? ? ? ?+2G
? ? ? ? ? ? ?t
? ? ? ? ? ? ?3
? ? ? ? ? ? ?82
? ? ? ? ? ? ?w" | fdisk /dev/$DISK
? ? ? ? ? ? ?OPTION="exit";;
? ? ? ? ? n|N)
? ? ? ? ? ? ? exit 6 ;;
? ? ? ? ? *)
? ? ? ? ? ? ?read -p ?"Again,You will earse all data:y|n " OPTION ;;
? ? ? ? ? ?esac
? ? ? done
fi
轉載于:https://blog.51cto.com/willow/1766620
總結
以上是生活随笔為你收集整理的linux下Bash编程until语句及格式化硬盘分区等编写脚本(十)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【男人必看十大经典】[经典合集][DVD
- 下一篇: 二元随机变量