一.打印9*9乘法表shell
1 #!/bin/bash 2 for i in `seq 9` 3 do 4 for j in `seq $i` 5 do 6 echo -n "$i*$j=$[i*j]" 7 done 8 echo 9 done
二.剪刀石頭布小遊戲數組
1 #!/bin/bash 2 game=(石頭 剪刀 布) 3 num=$[RANDOM%3] 4 computer=${game[$num]} 5 #隨機生成出拳可能並存入數組game[$num]:game[0],game[1],game[2]分別表明石頭,剪刀,布 6 echo "請根據如下提示選擇出拳手勢" 7 echo "石頭:1 剪刀:2 布:3" 8 read -p "請出拳:(1,2,3)": person 9 case $person in 10 1) 11 if [ $num -eq 0 ];then 12 echo "平局" 13 elif [ $num -eq 1 ];then 14 echo "你贏" 15 else 16 echo "計算機贏" 17 fi;; 18 2) 19 if [ $num -eq 0 ];then 20 echo "計算機贏" 21 elif [ $num -eq 1 ];then 22 echo "平局" 23 else 24 echo "你贏" 25 fi;; 26 3) 27 if [ $num -eq 0 ];then 28 echo "你贏" 29 elif [ $num -eq 1 ];then 30 echo "計算機贏" 31 else 32 echo "平局"
三.猜數字小遊戲bash
1 #!/bin/bash 2 #腳本生成一個100之內的隨機數,提示用戶猜數字,根據用戶的輸入,>提示猜對了,猜大了或猜小了,直到用戶猜對爲止. 3 num=$[RANDOM%100+1] #1~100的隨機數 4 read -p "計算機已生成一個1~100的隨機數,請您猜:" cai1 5 l=0 6 while : 7 do 8 let l++ 9 if [ $l -eq 1 ];then 10 if [ $cai1 -eq $num ];then 11 echo "恭喜,猜對了" 12 exit 13 elif [ $cai1 -gt $num ];then 14 echo "猜大了" 15 else 16 echo "猜小了" 17 fi 18 else 19 read -p "請繼續:" cai2 20 if [ $cai2 -eq $num ];then 21 echo "恭喜,猜對了" 22 exit 23 elif [ $cai2 -gt $num ];then 24 echo "猜大了" 25 else 26 echo "猜小了" 27 fi 28 fi 29 done
四.給三個隨機數字排序spa
1.交互式code
1 #!/bin/bash 2 #依次提示用戶輸入三個整數,腳本根據數字大小排序輸出3個數字 3 read -p "請輸入一個整數:" num1 4 read -p "請輸入一個整數:" num2 5 read -p "請輸入一個整數:" num3 6 #從小到大排序,設定最後輸出num1,num2,num3,腳本運行中將最小,中間,最大值分別賦予這三個變量,引入對調變量tmp 7 tmp=0 8 #若是num1大於num2則對調1和2,保持num1最小 9 if [ $num1 -gt $num2 ];then 10 tmp=$num1 11 num1=$num2 12 num2=$tmp 13 fi 14 #若是num1大於num3則對調1和3,保持num1最小 15 if [ $num1 -gt $num3 ];then 16 tmp=$num1 17 num1=$num3 18 num3=$tmp 19 fi 20 #若是num2大於num3則對調2和3,保持num2更小 21 if [ $num2 -gt $num3 ];then 22 tmp=$num2 23 num2=$num3 24 num3=$tmp 25 fi 26 echo "排序後的數據爲:$num1,$num2,$num3"
2.非交互式blog
1 #!/binbash 2 l=0 3 tmp=0 4 for i in `cat /home/student/桌面/shell腳本/文檔/paixu.txt` #一個含3個數字的文件 6 do 7 let l++ 8 if [ $l -eq 1 ];then 9 num1=$i 10 fi 11 if [ $l -eq 2 ];then 12 num2=$i 13 if [ $num1 -gt $num2 ];then 14 tmp=$num1 15 num1=$num2 16 num2=$tmp 17 fi 18 fi 19 if [ $l -eq 3 ];then 20 num3=$i 21 if [ $num1 -gt $num3 ];then 22 tmp=$num1 23 num1=$num3 24 num3=$tmp 25 fi 26 if [ $num2 -gt $num3 ];then 27 tmp=$num2 28 num2=$num3 29 num3=$tmp 30 fi 31 fi 32 done 33 echo "從小到大排序:$num1,$num2,$num3"
五.點名器排序
1 #!/bin/bash 2 #提早準備文件user.txt,一行一個姓名 3 read -p "請輸入想要抽到的人數:" xxx 4 l=1 5 while [ $l -le $xxx ] 6 do 7 let l++ 8 line=`cat /home/student/桌面/shell腳本/文檔/user.txt | wc -l` 9 num=$[RANDOM%line+1] 10 sed -n "${num}p" /home/student/桌面/shell腳本/文檔/user.txt 11 sleep 0.5 12 done
六.打印國際象棋棋盤遊戲
1 #!/bin/bash 2 #兩個變量i和j表明行和列 3 for i in {1..8} 4 do 5 for j in {1..8} 6 do 7 sum=$[i+j] 8 if [ $[sum%2] -eq 0 ];then #偶數 9 echo -ne "\033[46m \033[0m" 10 else 11 echo -ne "\033[47m \033[0m" 12 fi 13 done 14 echo 15 done
七.fork炸彈(會快速消耗計算機資源,致使計算機死機)(請在虛擬機中實驗,千萬不要在真機嘗試,若操做失誤請重啓計算機)資源
1 .(){ 2 .|.& 3 } 4 .
八.打印斐波那契數列(後一個數字永遠是前兩個數字之和)文檔
1 #!/bin/bash 2 list=(0 1) 3 for i in `seq 2 11` 4 do 5 list[$i]=`expr ${list[-1]} + ${list[-2]}` 6 done 7 echo ${list[@]}
九.打印一些特殊圖形
1 #!/bin/bash 2 clear 3 for ((i=1;i<=9;i++)) 4 do 5 for((j=1;j<=i;j++)) 6 do 7 echo -n "$i" 8 done 9 echo"" 10 done 11 #圖1 12
13 read -n1 "按任意鍵繼續" key 14 clear 15 for ((i=1;i<=5;i++)) 16 do 17 for((j=1;j<=i;j++)) 18 do 19 echo -n "|" 20 done 21 echo "_" 22 done 23 #圖2 24
25 read -n1 "按任意鍵繼續" key 26 clear 27 for ((i=1;i<=5;i++)) 28 do 29 for((j=1;j<=i;j++)) 30 do 31 echo -n "*" 32 done 33 echo"" 34 done 35 36 for ((i=5;i>=1;i--)) 37 do 38 for((j=1;j<=i;j++)) 39 do 40 echo -n "*" 41 done 42 echo"" 43 done 44 #圖3