脚本例子

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

相关推荐

  • Linux进程查看和管理及作业控制

    在linux系统中,内核的功用有:进程管理、文件系统、网络功能、内存管理、驱动程序、安全功能等,在这众多的模块中,进程管理是相对重要的一环,即使不像文件系统和网络功能那么复杂。在进程管理中,内核对进程的创建、切换、撤销和调度都有很详细的定义。  1、进程类型     守护进程:在系统引导过程中启动的进程,跟终端无关的进…

    学员作品 2016-11-14
  • 马哥教育网络班20期+第9周课程练习

    1、写一个脚本,判断当前系统上所有用户的shell是否为可登录shell(即用户的shell不是/sbin/nologin);分别这两类用户的个数;通过字符串比较来实现; #!/bin/bash declare -i other=0 declare -i nologin=0 for i in&nbs…

    学员作品 2016-08-08
  • sed命令详解

    sed命令:  Stream EDitor, 行编辑器  sed是一种流编辑器,它是文本处理中非常中的工具,能够完美的配合正则表达式使用,功能不同凡响。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重…

    2016-08-10
  • 马哥教育网络第20期-第一周作业

    第一周博客作业1、 描述计算机的组成及其功能。 运算器、控制器、存储器、输入设备、输出设备运算器、控制器 :cpu 运算和逻辑计算存储器:缓存和保存数据输入设备、输出设备:用户和计算机交互设备和界面 2、 按系列罗列Linux的发行版,并描述不同发行版之间的联系与区别。 Slackware系列: suse   opensuse debian系列: …

    学员作品 2016-06-23
  • ​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
  • linux中用ACL实现灵活的权限管理

    ACL是什么?? ACL英文原意是Access Control List(访问控制列表).它能够实现灵活的权限管理,除了文件的所有者,所属组和其他人,设置相应的权限外,ACL允许你给任何用户或是用户组设置任何文件/目录的访问权限(注意的是有些不支持数字模式的权限给定) ACL有什么用?? 作为UGO权限管理的补充,acl有GUO办不到或者是难以办到的功能 &…

    Linux干货 2016-08-05