N25-第八周

1、写一个脚本,使用ping命令探测172.16.250.1-172.16.250.254之间的所有主机的在线状态;
在线的主机使用绿色显示;
不在线的主使用红色显示;

#!/bin/bash
ipnet=172.16.250.
trap 'trap_action' INT
trap_action() {
break
return 1
}

for ((i=1;i<=254;i++));do
        ping -c 1 -W 1 ${ipnet}${i} &> /dev/null && echo -en "\033[32m ${ipnet}${i} \033[0m\n" || echo -en "\033[31m ${ipnet}${i} \033[0m\n"
done

2、如何给网络接口配置多个地址,有哪些方式?

[root@MiWiFi-R3-srv tmp]# ifconfig ens33:0 192.168.31.231 netmask 255.255.255.0 up
[root@MiWiFi-R3-srv tmp]# ifconfig ens33:1 192.168.31.232 netmask 255.255.255.0 up

3、写一个脚本,完成以下功能
(1) 假设某目录(/etc/rc.d/rc3.d/)下分别有K开头的文件和S开头的文件若干;
(2) 显示所有以K开头的文件的文件名,并且给其附加一个stop字符串;
(3) 显示所有以S开头的文件的文件名,并且给其附加一个start字符串;
(4) 分别统计S开头和K开头的文件各有多少;

#!/bin/bash
declare -i s=0
declare -i k=0 
for i in `ls /etc/rc.d/rc3.d/*`;do

        case $i in
            /etc/rc.d/rc3.d/S*)
                echo ${i##*/}stop && let s++;;
          /etc/rc.d/rc3.d/K*)
                echo ${i##*/}start && let k++;;
            esac
    done
    echo -en "以K开头的文件个数为:${k}\n"
echo -en "以S开头的文件个数为:${s}\n"

4、写一个脚本,完成以下功能
(1) 脚本能接受用户名作为参数;
(2) 计算此些用户的ID之和;

#!/bin/bash
declare -i sum=0

for i in $*; do
            if id -u $i &> /dev/null; then
                let sum+=$(id -u $i)
        else echo "user not existed."
                exit 2
        fi
done
        echo "用户ID之和为:$sum"

5、写一个脚本
(1) 传递一些目录给此脚本;
(2) 逐个显示每个目录的所有一级文件或子目录的内容类型;
(3) 统计一共有多少个目录;且一共显示了多少个文件的内容类型;

#!/bin/bash
declare -i sumd=0
declare -i sumf=0

for i in $(ls $*); do
        filetype=$(file $*/$i | cut -d: -f2 | awk  '{sub(/^[ \t]+/,"");print $0}')
            echo "$i 文件类型为:$filetype."
            if [ "$filetype" == "directory" ]; then
                let sumd++
        else
                let sumf++
        fi
done
        echo "目录数量为:$sumd,文件数量为:$sumf. "

6、写一个脚本
通过命令行传递一个参数给脚本,参数为用户名
如果用户的id号大于等于500,则显示此用户为普通用户;

#!/bin/bash
if ! id $1 &> /dev/null; then
         echo "user not existed."
         exit 2
    fi
if [ $(id -u $1) -ge 500 ]; then
            echo " $1 is user."
else echo "$1 is system user."        
fi

7、写一脚本,用ping命令测试172.16.250.20-172.16.250.100以内有哪些主机在线,将在线的显示出来

#!/bin/bash
ip=172.16.250.
for i in {20..100}; do
        if ping -w 1 -c 1 $ip$i &> /dev/null; then
                echo "$ip$i is up."
        fi
done

  
8、打印九九乘法表;

#!/bin/bash
for i in {1..9};do
        for j in $(seq 1 $i);do
                echo -en "${j}x${i}=$[$j*$i]\t"
        done
        echo
done

原创文章,作者:lyj821202,如若转载,请注明出处:http://www.178linux.com/69875

(0)
lyj821202lyj821202
上一篇 2017-05-26
下一篇 2017-05-27

相关推荐

  • shell编程、yum的使用

    shell编程、yum的使用 一、shell编程 1、while的特殊使用 while 循环的特殊用法(遍历文件的每一行): while read line; do      循环体 done < /PATH/FROM/SOMEFILE   依次读取/PATH/FROM/SOMEFILE 文件…

    Linux干货 2016-08-21
  • Mysql 启动时 报ERROR 2002,分析解决、

    1、故障现象 [root@localhost scripts]# mysql -u root ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/tmp/mysqld.sock’ (2) 2、故障分析 查看mysql实例的状态 [root@localhost scr…

    Linux干货 2017-08-29
  • 文本全屏编辑器 vim

             vim在Linux中站着很重要的位置,是每一个学习Linux人员的必须掌握的技能之一,因为vim功能很强大为我们编辑文件和脚本带来了很大的方便。接下来我们来一起了解vim的功能。   文本编辑种类:     行编…

    Linux干货 2016-08-15
  • Linux平台的4个最佳开源代码编辑器

    原文出处: Abhishek   译文出处:Linux中国 su-kaiyao   正在寻找Linux平台最棒的代码编辑器?如果你询问那些很早就玩Linux的人,他们会回答是Vi, Vim, Emacs, Nano等。但是,我今天不讨论那些。我将谈论一些新时代尖端、漂亮、时髦而且十分强大, 功能丰富…

    Linux干货 2015-03-02
  • httpd功能配置之https

       HTTPS(全称:Hyper Text Transfer Protocol over Secure Socket Layer),是以安全为目标的HTTP通道,简单讲是HTTP的安全版。即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。HTTPS使用443端口进行通信。    …

    Linux干货 2016-03-13
  • SHELL流程控制之循环

    当进行脚本编程时,语句执行的流程控制通常有三种: l  顺序执行 l  选择执行 l  循环执行   条件选择if: if语句可以进行嵌套 if 判断条件;then          条件为真的分支代码 elif  判断条件;th…

    Linux干货 2016-08-18

评论列表(1条)

  • 马哥教育
    马哥教育 2017-06-20 11:28

    如果脚本多加一些判断条件的话会更好