腳本例子

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.www58058.com/37416

(0)
皺 多利亞皺 多利亞
上一篇 2016-08-22
下一篇 2016-08-22

相關推薦

  • 馬哥教育網絡班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
  • vim編輯器

    一、vim簡介    vi: Visual Interface,文本編輯器     文本: ASCII, Unicode     文本編輯種類:         行編輯器: sed…

    Linux干貨 2016-08-10
  • 馬哥教育網絡班20期-第八周課程作業

    1、請描述網橋、集線器、二層交換機、三層交換機、路由器的功能、使用場景與區別。 網橋將兩個相似的網絡連接起來,并對網絡數據的流通進行管理。它工作于數據鏈路層,不但能擴展網絡的距離或范圍,而且可提高網絡的性能、可靠性和安全性。 集線器的英文稱為“Hub”。主要功能是對接收到的信號進行再生整形放大,以擴大網絡的傳輸距離,同時把所有節點集中在以它為中心的節點上。它…

    學員作品 2016-09-08
  • linux操作系統rpm軟件包管理

    軟件包管理 軟件包運行環境: API:Application Programming Interface     使用標準:POSIX:     源代碼運行步驟:預處理(如處理注釋)—>編譯成匯編代碼—>鏈接其他庫文件 ABI:applicatio…

    2016-08-22
  • linux中用ACL實現靈活的權限管理

    ACL是什么?? ACL英文原意是Access Control List(訪問控制列表).它能夠實現靈活的權限管理,除了文件的所有者,所屬組和其他人,設置相應的權限外,ACL允許你給任何用戶或是用戶組設置任何文件/目錄的訪問權限(注意的是有些不支持數字模式的權限給定) ACL有什么用?? 作為UGO權限管理的補充,acl有GUO辦不到或者是難以辦到的功能 &…

    Linux干貨 2016-08-05
  • 關于shell變量計算中單中括號與雙中括號、單引號與雙引號的一些看法

      單中括號是比較基本的變量計算及數值比較的方法,一般情況下已經足夠使用;雙中括號是擴展的數值比較方法,里面的數值計算也相對來說復雜些。這里我推薦大家平常工作中使用單中括號即可,滿足日常的工作,不做運維開發的話,雙括號方面涉及不多。   這里我還得提下單括號與雙括號,這里也是我經?;煜牡胤?,其實理解了也就輕松多了。單括號是對一段比較長的…

    學員作品 2016-08-15
欧美性久久久久