1、写一个脚本,使用ping命令探测172.16.250.1-172.16.250.254之间所有主机的在线状态;
在线的主机使用绿色显示;
不在线的主机用红色表示;
#!bin/bash
#
for i in `seq 254`;do
if ping -c 1 192.168.68.$i &> /dev/null;then
echo -e "\033[32m192.168.68.$i\033[0m"
else
echo -e "\033[31m192.168.68.$i\033[0m"
fi
done
~
2、如何给网络接口配置多个地址,有哪些方式?
~]# ifconfig ens33 192.168.68.130/24 up
~]# ip addr add 192.168.68.135 dev ens33
3、写一个脚本,完成以下功能
(1)假设某目录(/etc/rc.d/rc3.d/)下分别有K开头的文件和S开头的文件若干
(2)显示所有以K开头的文件的文件名,并且给其附加一个stop字符串
(3)显示所有以S开头的文件的文件名,并且给其附加一个start字符串
(4)分别统计S开头和K开头的文件各有多少?
#!/bin/bash
#
declare -i sumk
declare -i sums
sumk=0
sums=0
for i in $(ls /etc/rc.d/rc3.d);do
if echo $i | grep "^K" &> /dev/null;then
echo "$i stop"
let sumk++
else
echo "$i start"
let sums++
fi
done
echo -e "S开头的文件数:$sumk\nK开头的文件数:$sums"
4、写一个脚本,完成以下功能
(1)脚本能接受用户名作为参数
(2)计算这些用户的ID之和
#!/bin/bash
#
if [ $# -lt 1 ];then
echo"请至少输入一个存在的用户名"
exit 1
fi
declare -i sumid=0
for name in $@;do
if id $i &>/dev/null;then
let sumid+=$(id -u $name)
else
echo "$name 这个用户不存在"
fi
done
echo "这些用户的id之和是$sumid"
[root@centos ~]# bash user12.sh asd ef
这些用户的id之和是2016
5、写一个脚本
(1)传递一些目录给此脚本
(2)逐个显示每个目录的所有一级文件或子目录的内容类型
(3)统计一共有多少个目录;且一共显示了多少个文件的内容类型
#!/bin/bash
#
declare -i dir=0
declare -i filetype=0
for i in $@;do
if [ -d $i ];then
for j in $i/*;do
file $j &> /dev/null
let filetype=$filetype+1
if [ -d $j ];then
let dir=$dir+1
fi
done
else
echo "$i is not a dirfile or not exists"
fi
echo "一共有目录$dir 一共有文件 $filetype"
done
6、写一个脚本
通过命令传递一个参数给脚本,参数为用户名
如果用户的id号大于等于500,则显示此用户为普通用户;
#!/bin/bash
#
if [ $# -ne 1 ];then
echo"至少输入一个用户"
fi
if id $1 &>/dev/null ;then
if [ $(id -u $1) -gt 500 ];then
echo "这是普通用户"
fi
else
echo "没有这个用户"
fi
7、写一脚本,用ping命令测试172.16.250.20-172.16.250.100以内有哪些主机在线,将在线的显示出来
#!/bin/bash
#
for i in `seq 254`;do
if ping -c 1 192.168.68.$i &> /dev/null;then
echo "192.168.68.$i"
fi
done
8、打印九九乘法表
#!/bin/bash
for i in {1..9};do
for j in `seq $i`;do
let num=$j*$i
echo -n -e "$j*$i=$num\t"
done
echo
done
本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/87577