1、输出88的国际象棋棋盘 #!/bin/bash for i in {1..8} do for j in {1..8} do if [ $[(i+j)%2] -eq 0 ] ; then echo -en "\033[41m \033[0m" else echo -en "\033[47m \033[0m" fi done echo done 2、输出99乘法表 #!/bin/bash for i in seq 9 do for j in seq $i do echo -n "$i$j=$[i*j] " done echo done 3、使用 3 个 read 读取用户输入的 3 个整数,脚本按照大小排序依次输出 3 个数字? #!/bin/bash read -p "请输入一个整数:" num1 read -p "请输入一个整数:" num2 read -p "请输入一个整数:" num3 #不管谁大谁小,最后都打印 echo "$num1,$num2,$num3" #num1 中永远存最小的值,num2 中永远存中间值,num3 永远存最大值 #如果输入的不是这样的顺序,则改变数的存储顺序,如可以 num1 和 num2 的值对调 tmp=0 #如果 num1 大于 num2,就把 num1 和和 num2 的值对调,确保 num1 变量中存的是最小值 if [ $num1 -gt $num2 ];then tmp=$num1 num1=$num2 num2=$tmp fi #如果 num1 大于 num3,就把 num1 和 num3 对调,确保 num1 变量中存的是最小值 if [ $num1 -gt $num3 ];then tmp=$num1 num1=$num3 num3=$tmp fi #如果 num2 大于 num3,就把 num2 和 num3 对标,确保 num2 变量中存的是小一点的值 if [ $num2 -gt $num3 ];then tmp=$num2 num2=$num3 num3=$tmp fi echo "排序后数据为:$num1,$num2,$num3" 4、编写脚本,实现人机<石头,剪刀,布>游戏? #!/bin/bash game=(石头 剪刀 布) num=$[RANDOM%3] computer=${game[$num]} #通过随机数获取计算机的出拳 #出拳的可能性保存在一个数组中,game[0],game[1],game[2]分别是 3 中不同的可能 echo "请根据下列提示选择您的出拳手势" echo "1.石头" echo "2.剪刀" echo "3.布" read -p "请选择 1-3:" person case $person in if [ $num -eq 0 ];then echo "平局" elif [ $num -eq 1 ];then echo "你赢" else echo "计算机赢" fi;; if [ $num -eq 0 ];then echo "计算机赢" elif [ $num -eq 1 ];then echo "平局" else echo "你赢" fi;; if [ $num -eq 0 ];then echo "你赢" elif [ $num -eq 1 ];then echo "计算机赢" else echo "平局" fi;; echo "必须输入 1-3 的数字" esac