标签:until
while CONDITION; do【条件满足就循环,不满足就退出循环】
STAMENT
done
until CONDITION; do【条件不满足就循环,满足就退出循环】
STAMENT
done
for 循环还可以这么玩!!!(计算100以内所有正整数的和)
for ((I=1 I<=100 I++)); do
let sum+=$I
done
脚本:
通过ping命令测试从192.168.9.1到192.168.9.254之间的所有主机是否在线
如果在线就显示“ip is up”其中的ip要换为真正的ip地址,且以绿色显示
如果不在线就显示“ip is down”ip要换成真正的ip,且显示为红色
【注释:ping -c 1 -w 1 192.168.9.254 只ping一次、只等一秒 然后echo $?】
【】
写一个脚本:
1、列出当前系统上所有的磁盘,让用户选择,如果选择quit则退出脚本;如果用户选择错误,就让用户重新选择;
2、当用户选择后,提醒用户确认接下来的操作可能会损坏数据,并请用户确认;如果用户选择y就继续,n就退出否则让用户重新选择
3、抹除那块硬盘上的所有分区(提示,抹除所有分区后执行sync命令,并让脚本睡眠3秒钟之后再分区)并为其创建三个主分区,第一个为20M 第二个为512M 第三个为128M,且期三个为swap分区类型
(提示:将分区命令通过echo传送给fdisk即可实现)
#!/bin/bash
#
echo "Initial a disk "
echo -e "\033[31mWaring: \033[0m "
fdisk -l 2> /dev/null | grep -o "^Disk /dev/[sh]d[a-z]"
read -p "your choice is " PARTDISK
if [ $PARTDISK == ‘quit‘ ]; then
echo "quit"
exit 3
fi
until fdisk -l 2> /dev/null | grep -o "^Disk /dev/[sh]d[a-z]" | grep "^Disk $PARTDISK$" &> /dev/null; do
read -p "wrong option,yourchoice again:" PARTDISK
done
read -p "will destroy all data,continue: " CHOICE
until [ $CHOICE == ‘y‘ -o $CHOICE == ‘n‘ ]; do
read -p "wrong option your choice again:" CHOICE
done
if [ $CHOICE == ‘n‘ ]; then
exit 5
else
dd if=/dev/zero of=$PARTDISK bs=512 count=1
sync
sleep 3
echo ‘n
p
1
+20M
n
p
2
+512M
n
p
3
+128M
t
3
82
w‘ | fdisk $PARTDISK &> /dev/null
sleep 3
mke2fs -j $PARTDISK‘1‘
mke2fs -j $PARTDISK‘2‘
mkswap $PARTDISK‘3‘
fi
考试题目
如何判定磁盘上的分区属于挂载状态?
for I in `mount | grep "/dev/hda" | awk ‘{print $1}‘`; do
fuser -km $I 踢出在访问的用户
umount $I
echo "$I umount ok"
done
标签:until
原文地址:http://10183596.blog.51cto.com/10173596/1688022