您好,欢迎来到网暖!

当前位置:网暖 » 站长资讯 » 建站基础 » 网络技术 » 文章详细 订阅RssFeed

shell脚本编程设计——根据输入的数输出菱形、三角形或者数字金字塔(带闪烁颜色)

来源:网络整理 浏览:163次 时间:2020-05-25
shell脚本编程设计——根据输入的数输出菱形、三角形或者数字金字塔(带闪烁颜色)

shell脚本程序和解释如下

#!/bin/bash#创建死循环,当输入出错或者输入"quit"字符串退出脚本程序while truedo#等待用户输入read -p "请输入一个不大于20的正整数(输入"quit"则退出):" n#先判断字符串是否是quitif [ "$n" == "quit" ]then    echo "您选择退出"    exit 0fi#判断输入的是否为数字,不是则错误结束脚本程序if [[ $n =~ ^[0-9]+$ ]]then    :else    echo "sorry you input no a number!"    exit 1fi#判断输入的数是否大于20,大于则跳出本次循环,进入下次循环if [ $n -gt 20 ]then    echo "您输入的数字太大,我可能执行不了"    continue#说明输入的数不大于20,判断其为奇数还是偶数elif [[ $n%2 -eq 1 ]] #判断是否为奇数then    echo "您输入的是个奇数"    echo "将显示出n行由*组成的菱形"    let half=(n+1)/2    let otherhalf=half-1    #echo $half    for i in `seq 1 $half`    do        for ((j=$half;j>i;j--))        do            echo -n " "        done        for m in `seq 1 $i`        do            echo -ne "\033[5;34m* \033[0m"        done        echo     done    for i in `seq 1 $otherhalf`    do        for m in `seq $i`        do            echo -n " "        done        for  ((j=$otherhalf;j>=i;j--))        do            echo -ne "\033[5;34m* \033[0m"        done        echo    doneelse    echo "您输入的是个偶数"  #说明输入的是个不大于20的偶数    #判断该偶数是否小于10    if [ $n -lt 10 ]         then    for i in `seq 1 $n`    do        for ((j=$n;j>i;j--))        do            echo -ne " "        done        for m in `seq 1 $i`        do            echo -ne "\033[1;36m$i\033[0m "        done        echo     done    #说明该不大于20的偶数也不小于10    else        for i in `seq 1 $n`        do            for ((j=$n;j>i;j--))            do                echo -n " "            done            for m in `seq 1 $i`            do                echo -n "* "            done            echo         done        fifidone

可以自己直接复制执行之后感受理解一波~~!

推荐站点

  • 腾讯腾讯

    腾讯网(www.QQ.com)是中国浏览量最大的中文门户网站,是腾讯公司推出的集新闻信息、互动社区、娱乐产品和基础服务为一体的大型综合门户网站。腾讯网服务于全球华人用户,致力成为最具传播力和互动性,权威、主流、时尚的互联网媒体平台。通过强大的实时新闻和全面深入的信息资讯服务,为中国数以亿计的互联网用户提供富有创意的网上新生活。

    www.qq.com
  • 搜狐搜狐

    搜狐网是全球最大的中文门户网站,为用户提供24小时不间断的最新资讯,及搜索、邮件等网络服务。内容包括全球热点事件、突发新闻、时事评论、热播影视剧、体育赛事、行业动态、生活服务信息,以及论坛、博客、微博、我的搜狐等互动空间。

    www.sohu.com
  • 网易网易

    网易是中国领先的互联网技术公司,为用户提供免费邮箱、游戏、搜索引擎服务,开设新闻、娱乐、体育等30多个内容频道,及博客、视频、论坛等互动交流,网聚人的力量。

    www.163.com
  • 新浪新浪

    新浪网为全球用户24小时提供全面及时的中文资讯,内容覆盖国内外突发新闻事件、体坛赛事、娱乐时尚、产业资讯、实用信息等,设有新闻、体育、娱乐、财经、科技、房产、汽车等30多个内容频道,同时开设博客、视频、论坛等自由互动交流空间。

    www.sina.com.cn
  • 百度一下百度一下

    百度一下,你就知道

    www.baidu.com