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