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)
等于 -eq (equal)
短路或
CMD1 || CMD2  
第一个CMD1结果为真,第二个CMD2不需要运算
第一个CMD1结果为假,第二个CMD2必须运算,才能得到最后的结果
短路或与组合
CMD1 && CMD2 || CMD3
当CMD1执行成功时,会执行CMD2
当CMD1执行失败时,会执行CMD3
注意#CMD1 && CMD2 || CMD3 逻辑不通,不适用

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

 

posted @ 2022-04-02 21:00  gg888666  阅读(74)  评论(0编辑  收藏  举报