方法二:
if ! [ -d /testdir ];then #判断文件是否存在
mkdir /testdir &> /dev/null #如果没有创建文件
fi
for i in {1..10};do
touch /testdir/$i`cat /dev/urandom |tr -dc [:alpha:] |head -c 8`.html #创建文件
done
探测局域网内的主机
172.18.250-254.X
能ping通显示并保存至/root/ip.log
要求并行探测提高效率。
[root@centos6mini zuoye]# cat 11.sh
#!/bin/bash
> /root/ip.log
for i in {250..255};do
for n in {1..255};do
{
ping -c1 -w1 172.18."$i"."$n" &> /dev/null
if [ $? -eq 0 ] ;then
echo "ping 172.18."$i"."$n" is up" #>> /root/ip.log
fi
}&
done
done
[root@centos6mini zuoye]# ./11.sh
ping 172.18.250.14 is up
ping 172.18.250.26 is up
ping 172.18.250.71 is up
ping 172.18.250.81 is up
ping 172.18.250.112 is up
ping 172.18.250.154 is up
ping 172.18.250.164 is up
ping 172.18.250.166 is up
ping 172.18.250.183 is up
ping 172.18.250.195 is up
ping 172.18.250.212 is up
ping 172.18.250.216 is up
ping 172.18.250.224 is up
ping 172.18.250.249 is up
ping 172.18.250.250 is up
ping 172.18.251.18 is up
打印国际象棋棋盘
方法一:
[root@centos6mini zuoye]# cat qipan.sh
#!/bin/bash
for n in {1..8};do
for i in {1..8} ;do
if [ $[$n%2] -eq 0 ];then
if [ $[$i%2] -eq 0 ];then
echo -e " 33[41m 33[0mc"
fi
if [ $[$i%2] -ne 0 ] ;then
echo -e " 33[47m 33[0mc"
fi
else
if [ $[$i%2] -eq 0 ];then
echo -e " 33[47m 33[0mc"
fi
if [ $[$i%2] -ne 0 ] ;then
echo -e " 33[41m 33[0mc"
fi
fi
done
echo
done
方法二:
#!/bin/bash
for xline in $(seq 1 8);do #横向
for yline in $(seq 1 8);do #纵向
if [ $[$[$xline+$yline]%2] -eq 0 ];then #判断;横向与纵向相加,最后相除是否等于0
echo -e " 33[47m 33[0mc"
else
echo -e " 33[41m 33[0mc"
fi
done
echo
done
方法三:(放大版)
#!/bin/bash
for i in {1..8};do
for x in {1..4};do #控制单行大小。对已有输出进行放大
for n in {1..8};do
a=`echo $[$[$i+$n]%2]`
if [ $a -eq 0 ];then
echo -e "e[43m" "" "" "" "" "" "" "" "e[0mc"
else
echo -e "e[42m" "" "" "" "" "" "" "" "e[0mc"
fi
done
echo
done
done
while循环
while CONDITION; do
循环体
done
CONDITION:循环控制条件;进入循环之前,先做一次判 断;每一次循环之后会再次做判断;条件为“true”,则执行 一次循环;直到条件测试状态为“false”终止循环
因此:CONDTION一般应该有循环控制变量;而此变量的值 会在循环体不断地被修正
进入条件:CONDITION为true










