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