脚本例子

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
下一篇 2016-08-22

相关推荐

  • ​Linux中的用户与组

    一、用户与UID 1.用户(User)分为管理员与普通用户 2.对于Linux系统而言,通过UID来界定某用户是属于哪个用户,而不是用户名 3.查看某用户的UID可以通过id命令实现,Centos6.8与7.2系统上的UID部分起始数值有所不同 Centos7.2 [root@localhost home]# id root u…

    学员作品 2016-08-10
  • Centos启动流程及服务脚本(work)

    centos启动流程 简单流程简介: POST –> Boot Sequence(BIOS) –> Boot Loader (MBR) –> Kernel(ramdisk) –> rootfs –> switchroot –> /sbin/init &…

    学员作品 2016-09-14
  • Linux系统安装

    概述:     上篇我们讨论了下关于Linux系统的启动流程和grub相关的内容,本篇将介绍一下Linux的系统安装相关的内容,具体分为:     1、系统安装程序anaconda的介绍     2、kickstart文件的介绍 &nbsp…

    学员作品 2016-09-15
  • 马哥linux特推出“你学习,我买单—免费公开课”的活动

    马哥linux特推出“你学习,我买单—免费公开课”的活动 为了感谢广大linux爱好者对马哥教育的一路陪伴和支持。时值五一佳节来临之际,马哥linux特推出“你学习,我买单—免费公开课”的活动,本期分享主题为:“Linux运维架构师成长必经之路”,后期我们将会不断的推出更多免费精彩课程和大家一起分享, 具体报名方式以及问题咨询,请加入…

    学员作品 2015-04-22
  • sed和vim的爱恨纠缠

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

    2016-08-10
  • 马哥教育网络班21期-第七周课程练习

    第七周 1、创建一个10G分区,并格式为ext4文件系统;    (1) 要求其block大小为2048, 预留空间百分比为2, 卷标为MYDATA, 默认挂载属性包含acl;    (2) 挂载至/data/mydata目录,要求挂载时禁止程序自动…

    学员作品 2016-08-29