N25第八周博客作业

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

#!/bin/bash

trap ‘mytrap’ INT

mytrap() {

   echo “quit”

   exit 1

}

for i in {1..254};do

        if ping -W 1 -c 1
172.16.150.$i&>/dev/null;then

                echo -e
“\033[32m172.16.250.$i\033[0m”

        else

                echo -e
“\033[31m172.16.250.$i\033[0m”

        fi

done

 


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

ifconfig NETWORK_NAME:# IPADDR/MASK

例如:ifconfig eno167777360  192.168.1.6/24

ip addr add NETWORK/MASK dev NETWORK_NAME label NETWORK_NAME:0

     例如:ip addr add 192.168.1.7/24 dev eno16777736 label eno16777736:0

 


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

#!/bin/sh

declare -a start

declare -a stop

for i in /etc/rc.d/rc3.d/S*;do

  echo “${i}  start”

  start[${#start[*]}]=$i

done

for l in /etc/rc.d/rc3.d/K*;do

  echo “${l}  stop”

  stop[${#stop[*]}]=$l

done

echo “^S have 
${#start[*]}”

echo “^K have 
${#stop[*]}”

     

                            or

 

#!/bin/sh

declare -a mysz

mysz() {

for i in /etc/rc.d/rc3.d/${1}*;do

  echo “${i}  $2”

done

 echo “^${1} files  have `ls /etc/rc.d/rc3.d/${1}*| wc -w`”

}

mysz S  start

mysz K  stop


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

#!/bin/sh

b=0

for i in $*;do

  if id -u $i
&>/dev/null;then

     echo “$i ID is `id
-u $i`”

     a=`id -u $i`

     let b+=$a

  else

    echo “$i not found
!!”

    exit 1

  fi

done

echo “all users ID is $b”

 


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

#!/bin/sh

sumf=0

sumd=0

trap
‘echo -en “dir $sumd\n”;echo -en “file $sumf\n”;exit 1’ INT

 

f_type()
{

local f

local
file_path

if [ -d
$1 ];then

  for f in `ls $1`;do

    file_path=${1}/$f

    [ -d $file_path ]&&let
sumd++&&f_type $file_path

    [ -f $file_path ]&&let sumf++

    file $file_path

  done

else

  echo “not dir!!”

  continue

fi

}

 

for i
in `seq 1 $#`;do

  f_type $1

done

 

echo
“dir $sumd”

echo
“file $sunf”

 


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

#!/bin/sh

aa() {

  
echo “no user!!”

  
exit 1

}

id $1&>/dev/null  || aa

if [ `id -u $1` -ge  500 ];then

        echo “$i is a Ordinary
user!!”

fi

 


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

#!/bin/sh

mytrap() {

        echo “quit”

        exit 1

}

trap ‘mytrap’ INT

for i in {20..100};do

        if      ping -W 1 -c 1 172.16.250.$i
&>/dev/null;then

                echo
“172.16.250.$i”

        fi

done

 


8
、打印九九乘法表;

#!/bin/sh

for ((i=1;i<=9;i++));do

  for ((a=1;a<=$i;a++));do

     echo -n  -e 
“${a}x${i}=$[${a}*${i}]\t”

  done

  echo

done

 

or

 

#!/bin/sh

a=1

while [ $a -le 9 ];do

   for i in `seq 1 $a`;do

      let b++

      echo -en
“${i}x${a}=$[${i}*${a}]\t”

   done

   let a++

   echo

done

~     

原创文章,作者:N25_韩奇洋,如若转载,请注明出处:http://www.178linux.com/70092

(0)
N25_韩奇洋N25_韩奇洋
上一篇 2017-02-26
下一篇 2017-02-26

相关推荐

  • ​N25第三周作业

    第三周 一、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。 [root@zf ~]# who | cut -d " " -f1  | sort | uniq -…

    Linux干货 2016-12-14
  • 马哥linux0801课程内容

    0801课堂笔记 硬链接和软链接最根本的区别 硬链接是同一个文件,而软链接是两个文件 软链接查询到文件的软链接个数.比较麻烦. 而硬链接的个数可以通过链接数就可以看到. 硬链接不能跨分区,而软链接可以跨分区 (因为每个分区都有自己的inode表) ln 创建硬链接 ln–s 创建软链接(软链接如果使用相对路径,对象是相对软链接的路径,而硬…

    Linux干货 2016-08-04
  • 数组

    一.数组 变量:存储单个元素的内存空间 数组:存储多个元素的连续的内存空间,相当于多个变量的集合。 索引:编号从0 开始,属于数值索引  注:索引可支持使用自定义的格式,而不仅是数值格式,即为关联索引,bash4.0 版本之后开始支持,bash 的数组支持稀疏格式(索引不连续) 二.数组的声明 declare -a ARRAY_NAME decla…

    Linux干货 2016-11-23
  • Linux系统上获取命令的帮助信息

    获取命令的使用帮助: 内部命令:help COMMAND   #针对内检命令 外部命令: (1) 命令自带简要格式的使用帮助      COMMAND –help (2) 使用手册:manual  [root@localhost /]# ls /usr/share/man   #记住这个…

    Linux干货 2016-08-15
  • shell编程进阶

    2、编写脚本/root/bin/yesorno.sh,提示用户输入yes或no,并判断用户输入的是yes还是no,或是其它信息 read -p “Enter you choice yes|no:” Choice Choice1=`echo $Choice | tr ‘[a-z]’ ‘[A-Z]&#8…

    2017-09-16
  • 2016-08-18作业

    斐波那契数列 fibonacciSequenceFun.sh #!/bin/bash function fibonacci_sequence {   if [ $1 -eq 0 ]; then     echo 0      elif [ $1 -eq 1 ]; then    …

    Linux干货 2016-09-19

评论列表(1条)

  • 马哥教育
    马哥教育 2017-03-29 17:17

    脚本功能都已经实现了,但是没有经过着色的代码看起来着实很痛苦,内容固然重要,但也要同时注意可读性。