1. 程式人生 > 其它 >07-shell-99-乘法表

07-shell-99-乘法表

99乘法表

CMD1 && CMD2 第一個CMD1結果為真,第二個CMD2必須運算,才能得到最後的結果 第一個CMD1結果為假,總的結果必定為0,因此第二個CMD2不需要執行
大於 -gt (greater than) 
小於 -lt (less than) 
大於等於 -ge (greater than or equal) 
小於等於 -le (less than or equal) 
不相等 -ne (not equal)

echo -n 不換行   

eche -e 啟用轉義字元。使用-e選項時,若字串中出現以下字元,則特別加以處理,而不會將它當成一般文字輸出:\t 插入tab

方法1

顏色多樣

root@ubuntu2004:~# cat 99.sh 
#!/bin/bash
#color=$[RANDOM%7+31]
for i in `seq 9`
do
  for j in `seq 9`
  do
      [ $i -ge $j ] && echo -ne "\E[1;$[RANDOM%7+31]m$[i]X$[j]=$[i*j]\t\E[0m"
  done
  echo ""
done

 

 

\E[1;xm      \E[0m 隨機顏色

root@ubuntu2004:~# cat 99.sh 
#!/bin/bash
color=$[RANDOM%7
+31] for i in `seq 9` do for j in `seq 9` do [ $i -ge $j ] && echo -ne "\E[1;${color}m$[i]X$[j]=$[i*j]\t\E[0m" done echo "" done

 

root@ubuntu2004:~/scripc# cat 29.sh    OK
#!/bin/bash
for i in `seq 9`
do
  for j in `seq 9`
  do
    [ $i -ge $j ] && echo -en "${i}x${j}=$[i*j]\t
" #判斷i大於等於j的留下 done echo "" #補個換行 done
root@ubuntu2004:~/scripc# cat 39.sh 
#!/bin/bash
for i in `seq 9`
do
  for j in `seq 9`
  do
    echo -en "${i}x${j}=$[i*j]\t"  #"" 引起來作為整體才會對齊有空格
  done
  echo ""
done
root@ubuntu2004:~/scripc# bash 39.sh # i=1,j=1..9;i=2,j=1..9;i+1之後補個換行
1x1=1    1x2=2     1x3=3     1x4=4     1x5=5     1x6=6     1x7=7     1x8=8     1x9=9    
2x1=2    2x2=4     2x3=6     3x4=12    3x5=15    3x6=18    3x7=21    3x8=24    3x9=27    
4x1=4    4x2=8     4x3=12    4x4=16    4x5=20    4x6=24    4x7=28    4x8=32    4x9=36    
5x1=5    5x2=10    5x3=15    5x4=20    5x5=25    5x6=30    5x7=35    5x8=40    5x9=45    
6x1=6    6x2=12    6x3=18    6x4=24    6x5=30    6x6=36    6x7=42    6x8=48    6x9=54    
7x1=7    7x2=14    7x3=21    7x4=28    7x5=35    7x6=42    7x7=49    7x8=56    7x9=63    
8x1=8    8x2=16    8x3=24    8x4=32    8x5=40    8x6=48    8x7=56    8x8=64    8x9=72    
9x1=9    9x2=18    9x3=27    9x4=36    9x5=45    9x6=54    9x7=63    9x8=72    9x9=81

2,方法二,參考

root@ubuntu2004:~/scripc# cat 29.sh 
#!/bin/bash
for i in `seq 9`
do
  for j in `seq 9`
  do
    [ $i -ge $j ] && echo -en "${i}x${j}=`echo $(($i*$j))`\t"
  done
  echo ""
done
root@ubuntu2004:~/scripc# bash 29.sh 
1x1=1    
2x1=2    2x2=4    
3x1=3    3x2=6    3x3=9    
4x1=4    4x2=8    4x3=12    4x4=16    
5x1=5    5x2=10    5x3=15    5x4=20    5x5=25    
6x1=6    6x2=12    6x3=18    6x4=24    6x5=30    6x6=36    
7x1=7    7x2=14    7x3=21    7x4=28    7x5=35    7x6=42    7x7=49    
8x1=8    8x2=16    8x3=24    8x4=32    8x5=40    8x6=48    8x7=56    8x8=64    
9x1=9    9x2=18    9x3=27    9x4=36    9x5=45    9x6=54    9x7=63    9x8=72    9x9=81