[root@PXE 20160111]# cat 99.sh
#!/bin/bash
##written by caimengzhi
##2016-1-11
for a in `seq 9`
do
# set -x
for b in `seq 9`
do
[ $a -ge $b ]&& echo -en "$a x $b=$(expr $a \* $b) "
done
# set +x
echo ""
done
[root@PXE 20160111]# ./99.sh
1 x 1=1
2 x 1=2 2 x 2=4
3 x 1=3 3 x 2=6 3 x 3=9
4 x 1=4 4 x 2=8 4 x 3=12 4 x 4=16
5 x 1=5 5 x 2=10 5 x 3=15 5 x 4=20 5 x 5=25
6 x 1=6 6 x 2=12 6 x 3=18 6 x 4=24 6 x 5=30 6 x 6=36
7 x 1=7 7 x 2=14 7 x 3=21 7 x 4=28 7 x 5=35 7 x 6=42 7 x 7=49
8 x 1=8 8 x 2=16 8 x 3=24 8 x 4=32 8 x 5=40 8 x 6=48 8 x 7=56 8 x 8=64
9 x 1=9 9 x 2=18 9 x 3=27 9 x 4=36 9 x 5=45 9 x 6=54 9 x 7=63 9 x 8=72 9 x 9=81
#!/bin/bash
##written by caimengzhi
##2016-1-11
for a in `seq 9`
do
# set -x
for b in `seq 9`
do
[ $a -ge $b ]&& echo -en "$a x $b=$(expr $a \* $b) "
done
# set +x
echo ""
done
[root@PXE 20160111]# ./99.sh
1 x 1=1
2 x 1=2 2 x 2=4
3 x 1=3 3 x 2=6 3 x 3=9
4 x 1=4 4 x 2=8 4 x 3=12 4 x 4=16
5 x 1=5 5 x 2=10 5 x 3=15 5 x 4=20 5 x 5=25
6 x 1=6 6 x 2=12 6 x 3=18 6 x 4=24 6 x 5=30 6 x 6=36
7 x 1=7 7 x 2=14 7 x 3=21 7 x 4=28 7 x 5=35 7 x 6=42 7 x 7=49
8 x 1=8 8 x 2=16 8 x 3=24 8 x 4=32 8 x 5=40 8 x 6=48 8 x 7=56 8 x 8=64
9 x 1=9 9 x 2=18 9 x 3=27 9 x 4=36 9 x 5=45 9 x 6=54 9 x 7=63 9 x 8=72 9 x 9=81
0
#!/bin/bash
for a in {1..9}
do
for b in `seq 9`;do
if [ $a -ge $b ];then
echo -en "$b*$a=$(expr $a \* $b ) "
fi
done
echo -e "\n"
done
exit 0
弱弱的问下 set -x set+x 是什么意思呢
for a in {1..9}
do
for b in `seq 9`;do
if [ $a -ge $b ];then
echo -en "$b*$a=$(expr $a \* $b ) "
fi
done
echo -e "\n"
done
exit 0
弱弱的问下 set -x set+x 是什么意思呢
0
sh -x *.sh
是打印所有的输出信息,
我加了
set -x
set+x
就在这之间的代码调试打印了。不用的就注释掉。要是你代码多的话就岂不是打印很多。没问题的你就不用打印了。
liushuangwei 发表于 2016-2-19 08:51
#!/bin/bash
for a in {1..9}
do
sh -x *.sh
是打印所有的输出信息,
我加了
set -x
set+x
就在这之间的代码调试打印了。不用的就注释掉。要是你代码多的话就岂不是打印很多。没问题的你就不用打印了。
0
set -x与set +x指令用于脚本调试。set是把它下面的命令打印到屏幕set -x 是开启 set +x是关闭
liushuangwei 发表于 2016-2-19 08:51
#!/bin/bash
for a in {1..9}
do
set -x与set +x指令用于脚本调试。set是把它下面的命令打印到屏幕set -x 是开启 set +x是关闭
0
我刚刚也试着写了下
# cat 99.sh
#!/bin/bash
sum=0
for i in `seq 1 9`
do
sum=$[$sum+1]
for j in `seq 1 $sum`
do
echo -en "$j*$i=$[$i*$j]\t"
done
echo
done
# sh 99.sh
1*1=1
1*2=2 2*2=4
1*3=3 2*3=6 3*3=9
1*4=4 2*4=8 3*4=12 4*4=16
1*5=5 2*5=10 3*5=15 4*5=20 5*5=25
1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36
1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49
1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64
1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81
# cat 99.sh
#!/bin/bash
sum=0
for i in `seq 1 9`
do
sum=$[$sum+1]
for j in `seq 1 $sum`
do
echo -en "$j*$i=$[$i*$j]\t"
done
echo
done
# sh 99.sh
1*1=1
1*2=2 2*2=4
1*3=3 2*3=6 3*3=9
1*4=4 2*4=8 3*4=12 4*4=16
1*5=5 2*5=10 3*5=15 4*5=20 5*5=25
1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36
1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49
1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64
1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81
编辑回复