脚本例子

1、每隔3秒钟到系统上获取已经登录的用户的信息;如果发现用户hacker登录,则将登录时间和主机记录于日志/var/log/login.log中,并提示该用户退出系统。

#!/bin/bash
#author:Zhu Chaoming
#date:20160816
#version:0.1
#
while   true
do
     w
     w |grep "^bbb" &>   /dev/null
     REV=$?
     if [ $REV -eq 0 ]; then
         w >> /var/log/login.log
         write bbb < 1.txt
     fi
         sleep 3
done

2、随机生成10以内的数字,实现猜字游戏,提示比较大或小,相等则退出

#!/bin/bash
PRICE=$(expr   $RANDOM % 10 + 1)
TIMES=0
echo   "商品实际价格为0-10之间,猜猜看是多少?"
while   true
do
    read -p "请输入你猜测的价格数目:"   INT
         let TIMES++
         if [ $INT -eq $PRICE ] ; then
             echo "恭喜你答对了,实际价格是   $PRICE"
             echo "你总共猜测了 $TIMES 次"
             exit 0
         elif [ $INT -gt $PRICE ] ; then
             echo "太高了!"
         else
             echo "太低了!"
         fi
done

3、编写脚本,求100以内所有正整数之和

#!/bin/bash
#
declare   -i SUM=0
for   I in `seq $1 $2`; do  
    let SUM+=$I
done
    echo "$SUM"

4、编写脚本,打印九九乘法表

#!/bin/bash
#
I=1
J=1
 
for   I in `seq 1 $1`; do
    for J in `seq 1 $I`; do
       let num=$I*$J
       echo -ne "$I*$J=$num\t"
    done
       echo -e "\n"             
done

5、编写脚本,利用变量RANDOM生成10个随机数字,输出这个10数字,并显示其中的最大者和最小者

#!/bin/bash
#date:2016/08/16
#work:作业
declare   -i MAX=0
declare   -i MIN=0
i=1
#MYrandom=$RANDOM           
while   [ $i -le 10 ]; do
 
    MYrandom=$RANDOM
    #\\将$RANDOM的数据赋值个MYRANDOM
       [ $i -eq 1 ]&&MIN=$MYrandom
           if [ $i -lt 9 ]; then
              echo -ne "$MYrandom\t"
           else
               echo   -ne "$MYrandom\t"
           fi
       [ "$MYrandom" -gt   "$MAX" ] && MAX=$MYrandom
       [ "$MYrandom" -lt   "$MIN" ] && MIN=$MYrandom
    let i++
done
    echo -e "\nMAX=$MAX , MIN=$MIN"

6、编写脚本,实现打印国际象棋棋盘

#!/bin/bash
for   i in $(seq 1 8);do
    for j in $(seq 1 8);do
        [ $[i%2-$j%2] -eq 0 ] &&  echo -ne "\033[41m  \033[0m" ||  echo -ne "\033[47m  \033[0m"
        let j++
    done
        echo ""
        let i++
done

7、打印等腰三角形

#!/bin/bash
#author:Zhu   Chaoming
#date:20160817
#version:0.1
 
while   true
do
read   -p "please input number: " Line
i=1
while   [ $i -le $Line ]; do
    let Space=Line-i
       for((h=1; h<=$Space; h++));do
           echo -ne " "
       done
       #echo ""
    let x=2*$i-1
       for((j=1; j<=$x; j++)); do
           echo -n "*"   
       done
       echo    ""   
    let i++    
done
done

原创文章,作者:皱 多利亚,如若转载,请注明出处:http://www.178linux.com/37416

(0)
皱 多利亚皱 多利亚
上一篇 2016-08-22 09:29
下一篇 2016-08-22 09:30

相关推荐

  • Selinux的基本命令及练习

    配置SELinux 相关命令:       getenforce: 获取selinux当前状态       sestatus :查看selinux状态      &nbs…

    学员作品 2016-09-19
  • linux sed命令

    linux sed命令 简介: sed是一种流编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(patternspace),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有改变,除非你使用重定向存储输出。Sed主要用来自动编辑一个或多个文件…

    学员作品 2016-08-10
  • 2016/08/03:用户管理与权限

    名称解析:User IDentifier UID 组名:Group IDentifier GID                                     &nbsp…

    学员作品 2016-08-05
  • 第六次作业

    1 、取本机ip地址 Centos6.8 ifconfig | head -2|tail -1|cut -d: -f2|cut -d" " -f1 ifconfig | head -2|tail -1|cut&…

    学员作品 2016-08-10
  • 关于网络几个比较有意义的实验

    这里我就偷懒,不写过多的6上面的bind的过多步骤了,具体实现的功能就是一个bind1,当然我这里少配了一个网卡。另外一个网卡的配置格式参照eth0即可。 在这里我要重点说一下这个NETWORKMANNAGER这个程序,同学们最好在做的时候将其设置为关闭,具体方法chekconfig NtworkManager stopped 即可。 下面还有一个叫做网络两…

    学员作品 2016-09-07
  • 关于shell变量计算中单中括号与双中括号、单引号与双引号的一些看法

      单中括号是比较基本的变量计算及数值比较的方法,一般情况下已经足够使用;双中括号是扩展的数值比较方法,里面的数值计算也相对来说复杂些。这里我推荐大家平常工作中使用单中括号即可,满足日常的工作,不做运维开发的话,双括号方面涉及不多。   这里我还得提下单括号与双括号,这里也是我经常混淆的地方,其实理解了也就轻松多了。单括号是对一段比较长的…

    学员作品 2016-08-15