1、写一个脚本,使用ping命令探测172.16.250.1-172.16.250.254之间的所有主机的在线状态;
在线的主机使用绿色显示;
不在线的主使用红色显示;
#!/bin/bash
for i in {1..254};
do
{
ip=172.16.250.$i
if ping -c 1 -w 1 $ip &> /dev/null ; then
echo -e "\033[32;49;1m$ip\033[39;49;0m\n"
else
echo -e "\033[31;49;1m$ip\033[39;49;0m\n"
fi
} &
done
wait
2、如何给网络接口配置多个地址,有哪些
(1)、使用ifconfig命令
ifconfig eth0:0 192.168.1.200 up
(2)、使用ip命令
ip addr add 192.168.1.200/24 dev eth0
(3)、新建子接口配置文件(永久性)
vim /etc/sysconfig/network-scripts/ifcfg-eth0:0 添加以下配置: DEVICE=eth0:0 TYPE=Ethernet ONBOOT=yes BOOTPROTO=static IPADDR=192.168.1.200 NETMASK=255.255.255.0 GATEWAY=192.168.1.1 保存后启用此接口 ifup eth0:0
3、写一个脚本,完成以下功能
(1) 假设某目录(/etc/rc.d/rc3.d/)下分别有K开头的文件和S开头的文件若干;
(2) 显示所有以K开头的文件的文件名,并且给其附加一个stop字符串;
(3) 显示所有以S开头的文件的文件名,并且给其附加一个start字符串;
(4) 分别统计S开头和K开头的文件各有多少;
#!/bin/bash S=0 K=0 for i in `ls /etc/rc.d/rc3.d/`;do case $i in S*) echo "$i start" S=$[S+1] ;; K*) echo "$i stop" K=$[K+1] ;; esac done echo -e "S $S Files\nK $K Files"
4、写一个脚本,完成以下功能
(1) 脚本能接受用户名作为参数;
(2) 计算此些用户的ID之和;
!/bin/bash
sum=0
for i in $@;do
if id $i &>/dev/null ;then
sum=$[sum+`id -u $i`]
else
echo "User $i is no existed"
fi
done
echo "Users id sum is $sum"
5、写一个脚本
(1) 传递一些目录给此脚本;
(2) 逐个显示每个目录的所有一级文件或子目录的内容类型;
(3) 统计一共有多少个目录;且一共显示了多少个文件的内容类型;
#!/bin/bash
dir=0
files=0
for i in $@;do
file $i/*
for e in `ls $i`;do
if [ -d $i/$e ];then
dir=$[dir+1]
fi
files=$[files+1]
done
done
echo " dir = $dir ,all file type= $files "
6、写一个脚本
通过命令行传递一个参数给脚本,参数为用户名
如果用户的id号大于等于500,则显示此用户为普通用户
#!/bin/bash
for i in $@;do
if ! id $i &>/dev/null;then
echo "user $i no exist"
elif [ `id -u $i` -ge 500 ];then
echo "$i is general user"
fi
done
7、写一脚本,用ping命令测试172.16.250.20-172.16.250.100以内有哪些主机在线,将在线的显示出来;
#!/bin/bash
for i in {20..100};
do
{
ip=172.16.250.$i
if ping -c 1 -w 1 $ip &> /dev/null ; then
echo -e "\033[32;49;1m$ip\033[39;49;0m\n"
fi
} &
done
wait
8、打印九九乘法表;
#!/bin/bash
for i in `seq 9`;do
for j in `seq 1 $i`;do
echo -n "$i*$j= `echo $(($i*$j))` "
done
echo
done
原创文章,作者:N27_what,如若转载,请注明出处:http://www.178linux.com/85294

