菜鳥學Linux 第027篇筆記 until循環,腳本操作硬盤
腳本編程控制結構
順序
選擇
if
case
循環
for
while
until
while CONDITION; do
statement
...
done
進入循環:條件滿足
退出循環:條件不滿足
until條件和while條件相反
until CONDITION; do
statement
...
done
進入循環:條件不滿足
退出循環:條件滿足
for ((expr1; expr2; expr3)); do
循環體
done
awk 'PATTERN{ACTION}' file
注意''是單引號
-F 指定分隔符
action
$1 表示分隔後的第幾段
$0 表示分隔後的所有段
NF the number of field統計字段個數
$NF 可以顯示最後一個字段
寫腳本
script1
通過ping命令測試192.168.0.1到100之間的原有主機是否在線
如果在線,就顯示"ip is up.",其中的IP要爲真正的IP,且以綠色顯示
如果不在線,就顯示"ip is down."其中IP要更換爲真正的IP,且以紅色顯示;
要求:分別使用while, until和for(兩種形式)循環實現。
script2
爲指定硬盤創建分區
1.列出當前系統上所有的磁盤,讓用戶選擇quit退出,
如果用戶選擇錯誤,就讓用戶重新選擇。
2.當用戶選擇後,提醒用戶確認接下來的操作可能會損壞數據,
並請用戶確認如果y就繼續,否則讓用戶重新選擇;
3.抹除所選硬盤上的所有分區(提示抹除後執行sync命令,並讓腳本睡眠3S後再分區)
併爲用戶創建三個主分區 第一個20M 第二個512M 第三個128M
並將第三個分區類型更改爲swap
key
script1
#!/bin/bash
#
declare -i IP=34
#while [ $IP -le 40 ]; do
# if ping -c 1 -W 1 192.168.1.$IP &> /dev/null; then
# echo -e "\033[32m192.168.1.$IP is up.\033[0m"
# else
# echo -e "\033[31m192.168.1.$IP is down.\033[0m"
# fi
# let IP+=1
#done
#
#until [ $IP -eq 40 ]; do
# if ping -c 1 -W 1 192.168.1.$IP &> /dev/null; then
# echo -e "\033[32m192.168.1.$IP is up.\033[0m"
# else
# echo -e "\033[31m192.168.1.$IP is down.\033[0m"
# fi
# let IP+=1
#done
#
#for I in `seq 34 40`; do
# if ping -c 1 -W 1 192.168.1.$I &> /dev/null; then
# echo -e "\033[32m192.168.1.$I is up.\033[0m"
# else
# echo -e "\033[31m192.168.1.$I is down.\033[0m"
# fi
#done
for ((I=34;I<=40;I++)); do
if ping -c 1 -W 1 192.168.1.$I &> /dev/null; then
echo -e "\033[32m192.168.1.$I is up.\033[0m"
else
echo -e "\033[31m192.168.1.$I is down.\033[0m"
fi
done
script2
略,由於懶所以沒有進行編寫呵呵 !!高手略過
以後我再補上