菜鸟学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

print 

$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

略,由于懒所以没有进行编写呵呵 !!高手略过

       以后我再补上