*
***
*****
*******
預覽圖形 發現圖形由三個變量組成 行數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