shell编程实战训练二

本文详细介绍了Shell编程的多个实战技巧,包括猜随机数游戏、查看系统信息、编写双色球机选脚本、数组应用、斐波那契数列、子shell、函数、多进程ping脚本、文件描述符操作、命名管道以及递归函数和排序算法的实现。通过这些实战示例,读者可以深入理解Shell编程的各种实用技能。
摘要由CSDN通过智能技术生成

实战十五:猜一个随机数

#!/bin/bash
sum=$[RANDOM%100]
count=0
while :
do
        read -p "请你猜一个0到100之间的数:" guess
        [[ $guess =~ [[:alpha:]] || $guess =~ [[:punct:]] ]] && echo " invalid enter" && exit
        let count++
        if [ $guess -eq $sum ];then #注意条件判断必须要有空格
                echo "you are right"
                echo "you guess $count times"
                exit
        elif [ $guess -gt $sum ];then
                echo "larger than answer"
        else
                echo "smaller than answer"
        fi
done

实战十六:用select查看系统信息

#!/bin/bash
echo "请根据提示选择一项"
select item in "cpu" "ip" "mem" "exit"
do
        case $item in
        "cpu")
                uptime;;
        "ip")
                ip a s;;
        "mem")
                free;;
        "exit")
                exit;;
        *)
                echo error;;
        esac
done
root@iZbp1am3laaognt99lkw1mZ:~# source test13.sh
请根据提示选择一项
1) cpu
2) ip
3) mem
4) exit
#? 1
 21:22:57 up 66 days,  6:51,  1 user,  load average: 0.02, 0.03, 0.01
#? 

实战十七:shell小游戏之机选双色球

#!/bin/bash
#:功能描述:机选双色球
#红色球1-33,蓝色球1-16,红色球号码不可重复
#六组红,一组蓝
RED_COL='\033[31m' #设置红色,类似宏
BLUE_COL='\033[34m' #设置蓝色
NONE_COL='\033[0m'  #关闭所有属性
red_ball=""      #存放红色球

#随机选择1-33号的红球6个,号码为1-16号的篮球1个
#每选出一个通过+=的方式存储到变量中
#通过grep判断新机选的红色球号码是否已经存在,-w选项过滤单词
while :
do
        clear
        echo "-----机选双色球-----"
        tmp=$[RANDOM%33+1] #产生一个随机数
        echo "$red_ball" | grep -q -w $tmp && continue #出现重复的数直接结束本次循环 
        red_ball+=" $tmp"  #不重复就加入red_ball
        echo -en "$RED_COL$red_ball$NONE_COL "  #打开字体为红色,然后关闭属性
        word=$(echo "$red_ball" | wc -w) #记录red_ball中的数字个数
        if [ $word -eq 6 ];then<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值