shell小技巧(四十九)画一个菱形

画一个菱形

shell小技巧(四十九)画一个菱形_第1张图片

 

代码:

#!/bin/bash
source ./afunction.sh

#i定义菱形最宽部分为7个字符
i=7
j=1

#is2是自定义函数,用于判断奇数偶数
is2 $i
m=$?
if [ $m -eq 1 ] && [ $i -gt 1 ]; then
  let x=$i-1 
  let y=$x/2
 while [ $j -le $i ]; do
    line=""
    k=1
    is2 $j
    n=$?
    if [ $n -eq 0 ]; then
         echo " "
         echo " "         
    else
        let kk=($i-$j)/2
        let kkk=$kk+$j
        while [ $k -le $i ];do
          if [ $k -le $kk ]; then
             echo -n " "
          elif [ $k -gt $kk ] && [ $k -le $kkk ]; then
             echo -n "x"
          else
             echo -n " "
          fi
          let k=k+1
        done
        #echo '\n'
    fi
   let j=j+1
 done
fi
echo " "
echo " "

#以下是画下半部分
let j=$i-2
while [ $j -ge 1 ]; do
    line=""
    k=1
    is2 $j
    n=$?
    if [ $n -eq 0 ]; then
         echo " "
         echo " "
    else
        let kk=($i-$j)/2
        let kkk=$kk+$j
        while [ $k -le $i ];do
          if [ $k -le $kk ]; then
             echo -n " "
          elif [ $k -gt $kk ] && [ $k -le $kkk ]; then
             echo -n "x"
          else
             echo -n " "
          fi
          let k=k+1
        done
        #echo '\n'
    fi
   let j=j-1
done
echo " "

你可能感兴趣的:(Shell技巧)