Bootstrap

shell程序打印99乘法表,获取字符串中空格个数,打印金字塔

1、打印99乘法表

这个主要时要清楚每一行shell的大意。

shell中for循环格式:

for ((i=0; i<10; i++))

do

        循环语句

done

echo:回显,将数据答应到终端上

echo -n 要输出的内容 ---》将数据打印在终端上,不换行

echo -e 要输出的内容----》将数据打印在终端上,可识别字符串中的转义字符:\t \r \b等

 #!/bin/bash
 
 for ((i=1; i<=9; i++))
 do                                          
     for j in `seq 1 $i`
     do
         echo -ne "$j * $i = $((i * j))\t"
     done
     echo
 done
2、获取字符串中空格的个数

循环访问字符串中的每一个字符,然后与空格比较,计算出空格的个数

#!/bin/bash

read -p "请输入一个字符串>>>" str
str_len=${#str}
spacenumber=0
i=1
while [ $i -le $str_len ]                    
do
    ch=`expr substr "$str" $i 1`
    if [ "$ch" == " " ]
    then
        spacenumber=$((spacenumber + 1))
    fi
    i=$((i + 1))
done

echo spacenumber=$spacenumber
3、打印金字塔
#!/bin/bash
                                         
time=0
layer=$1
for i in `seq 0 $((layer - 1))`
do
    for j in $(seq 0 $((layer + time)))
    do
        if [ $j -lt $(($layer - i)) ]
        then
            echo -n " "
        else
            echo -n "*"
        fi
    done
    time=$((time + 1))
    echo
done

;