用shell腳本打等腰三角新

   *

  ***

 *****

*******

  預覽圖形 發現圖形由三個變量組成 行數n 每行的空格數a 和每行的符號數b

關系是    a=n-當前行數    b=2xn-1   并且空格都在符號前

根據關系編寫腳本

#!/bin/bash

read -p "input the line numb:" numb

for n in `seq $numb` ;do

        for a in `seq $[$numb-$n]` ;do

        echo -n ' '

        done

        for b in `seq $[${n}*2-1]` ;do

        echo -n '*'

        done

echo

done

  腳本一共涉及了4個變量 3個循環 變量numb為總行數 用變量numb定義n n為循環的次數即打印出的行數 變量a為每行空格的數量用numb-n定義 變量b為每行符號數用nx2-1定義

  腳本運行過程是打印第一行時 先打印空格再打印符號 再執行第二行 打印空格符號…..

  echo -n 為打印不換行 最后一個echo 作用為換行

  也可用其他循環表示

#!/bin/bash

read -p "input the line numb:" numb

n=1

while [ $n -le $numb ] ;do

        a=1

        while [[ $a -le $[$numb-$n] ]] ;do

        echo -n ' '

        let a++

        done

        b=1

        while [[ $b -le $[${n}*2-1] ]] ;do

        echo -n '*'

        let b++

        done

let  n++

echo

done

  while循環注意定義開始循環和結束條件 until與while相比 就是while改成until 循環條件取反即可

#!/bin/bash

read -p "input the line numb:" numb

n=1

until  [ ! $n -le $numb ] ;do

        a=1

        until [ ! $a -le $[$numb-$n] ] ;do

        echo -n ' '

        let a++

        done

        b=1

        until [ ! $b -le $[${n}*2-1] ] ;do

        echo -n '*'

        let b++

        done

let  n++

echo

done

  for的另外一種格式

#!/bin/bash

read -p "input the line numb:" numb

for((n=1 ;n <= $numb;n++));do

        for((a=1;a <= $[$numb-$n];a++));do

        echo -n '#'

        done

        for((b=1;b <= $[${n}*2-1];b++));do

        echo -n '*'

        done

echo 

done

  打印出空心的等腰三角形

    *

   * *

  *   *

 *     *

*********

#!/bin/bash

read -p "input the line numb:" numb

for n in `seq $numb` ;do

if [ $n = 1 -o $n = $numb ] ;then

        for a in `seq $[$numb-$n]` ;do

        echo -n ' '

        done

        for b in `seq $[${n}*2-1]` ;do

        echo -n '*'

        done

else

        for a in `seq $[$numb-$n]` ;do

        echo -n ' '

        done

        echo -n '*'

        for b in `seq $[${n}*2-3]` ;do

        echo -n ' '

        done

        echo -n '*'

fi

echo

done

原創文章,作者:錕,如若轉載,請注明出處:http://www.www58058.com/38756

(0)
錕
上一篇 2016-08-22
下一篇 2016-08-22

相關推薦

  • HA cluster應用—CoroSync+Pacemaker

    HA cluster應用——CoroSync v2 (quorum system)+Pacemaker (standalone daemon)+ crmsh/pcsh corosync簡述: Corosync是OpenAIS發展到Wilson版本后衍生出來的開放性集群引擎工程。可以說Corosync是OpenAIS工程的一部分。OpenAIS從openais…

    2016-11-27
  • N22-love cat 17周博客作業第2部分-構建一個LVS-DR模型的高性能集群

    題目: 搭建一個LVS-DR模型的高性能集群,并實現以下功能:       (1)、wordpress程序通過nfs共享給個個realserver;       (2)、后端realserver中的nginx和php分離; 第17周   第2部分 網…

    Linux干貨 2016-08-15
  • Python函數式編程指南(二):函數

    這是此系列的第二篇,試圖說明在Python中如何更好地使用函數并引導諸位使用函數式的思維進行思考。掌握并應用這些內容,就已經是至少形似的函數式風格的代碼了,至于思維么,這個真靠自己。 作者水平有限,如有錯漏之處還請指出;轉載請注明原作者和原地址:) 2. 從函數開始 2.1. 定義一個函數 如下定義了一個求和函數: def add(x, y): return…

    Linux干貨 2015-03-11
  • 任務計劃

    所謂計劃任務就是指某一個時間系統自動做一件事情如輸入指令或者保存文件等等 計劃任務分兩種:一次性計劃任務命令(at)和周期性計劃任務命令(crontab)at的用法:如果當前時間為2017年6月6日 at 18:00 2017-06-6 w > /root/who.txt init 0 (輸入ctrl+d結束編輯…

    Linux干貨 2017-06-07
  • btrfs管理及應用

    一. 簡介     btrfs有著強大的功能,它支持在多個及各種物理設備(包括RAID)上創建一個文件系統,并支持動態擴展或減小,支持快照功能,甚至快照的快照,支持子卷功能。 二. 如何使用btrfs文件系統?     我的準備材料:3塊20G的硬盤 [root@localhost ~]#…

    Linux干貨 2015-12-07
  • vim的使用說明

    vim的使用說明 vim是一款功能豐富而強大的文本編輯器,vim是從 vi 發展出來的一個文本編輯器。其代碼補全、編譯及錯誤跳轉等方便編程的功能特別豐富,在程序員中被廣泛的使用。 vim的使用非常方便,使用方法為:vim [options] [file ..] 1、vim可以對指定文件進行編輯,也可以直接啟動vim編輯器進行編輯,對于打開指定文件編輯時可以加…

    Linux干貨 2016-08-12
欧美性久久久久