Shell脚本练习二部曲
Posted Zmac111
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Shell脚本练习二部曲相关的知识,希望对你有一定的参考价值。
Shell脚本练习二部曲
1、九九乘法表
#!/bin/bash
for ((a=1;a<=9;a++))
do
for((b=1;b<=a;b++))
do
ji=$[$a * $b]
echo -ne "$a*$b=$ji\\t"
done
echo "" #相当于换行符
done
2、输出环境变量PATH所包含的所有目录以及其中的所有可执行文件
#!/bin/bash
OLDIFS=$IFS
IFS=$IFS:
for a in $PATH
do
for b in $a/*
do
if [ -x $b ]
then
echo $b
fi
done
done
IFS=$OLDIFS
3、输出字符长为10的直线
#!/bin/bash
#直线
for i in {1..10}
do
echo -n "*"
done
echo ""
4、长为10,宽为5的矩形
#!/bin/bash
for b in {1..5}
do
for i in {1..10}
do
echo -n "*"
done
echo ""
done
5、直角三角形(直角在左)
#!/bin/bash
for ((i=1;i<=9;i++))
do
for ((b=1;b<=$i;b++))
do
echo -n "*"
done
echo ""
done
6、倒直角三角形(直角在左)
#!/bin/bash
for ((i=1;i<=9;i++))
do
for ((b=9;b>=$i;b--))
do
echo -n "*"
done
echo ""
done
7、直角三角形(直角在右)
#!/bin/bash
for ((i=1;i<=9;i++))
do
for ((j=9; j>=$i;j--))
do
echo -n " " #这里是空格
done
for ((k=1;k<=$i;k++))
do
echo -n "*"
done
echo ""
done
8、等腰三角形
方法1
#!/bin/bash
for ((i=1;i<=9;i++)) #输出行
do
for ((j=9; j>=$i;j--)) #输出空格的倒三角形
do
echo -n " "
done
for ((k=1;k<=$i;k++)) #输出带“*”的三角形
do
echo -n "*"
done
for ((f=2;f<=$i;f++)) #输出带“*”的小三角形
do
echo -n "*"
done
echo ""
done
方法2
#!/bin/bash
for ((i=1;i<=9;i++))
do
for ((j=9;j>=$i;j--))
do
echo -n " "
done
a=$[$i*2 -1] # 规律是行数乘以2减1
for k in `seq 1 $a`
do
echo -n "*"
done
echo ""
done
9、平行四边形
方法1
方法2
方法1
#!/bin/bash
for ((i=6;i>=1;i--)) 或 for ((i=1;i<=6;i++))
do
for ((k=1;k<=$i;k++)) 或 for ((k=6;k>=$i;k--))
do
echo -n " "
done
for ((b=6;b>=1;b--))
do
echo -n "*"
done
echo ""
done
方法2
#!/bin/bash
for ((i=6;i>=1;i--)) 或 for ((i=1;i<=6;i++))
do
for ((k=6;k>=$i;k--)) 或 for ((k=1;k<=$i;k++))
do
echo -n " "
done
for ((b=6;b>=1;b--))
do
echo -n "*"
done
echo ""
done
10、直角梯形
方法1
#!/bin/bash
for ((i=1;i<=6;i++))
do
for ((k=6;k>=$i;k--))
do
echo -n " "
done
for ((b=1;b<=6;b++))
do
echo -n "*"
done
for ((h=1;h<=$i;h++))
do
echo -n "*"
done
echo ""
done
方法2
#!/bin/bash
for ((i=6; i>=1;i--))
do
for ((k=1; k<=$i;k++))
do
echo -n " "
done
for ((j=6;j>=1;j--))
do
echo -n "*"
done
for ((h=6; h>=$i;h--))
do
echo -n "*"
done
echo ""
done
方法3
#!/bin/bash
for ((i=1; i<=6;i++))
do
for ((k=6; k>=$i;k--))
do
echo -n " "
done
for ((g=1;g<=6+$i;g++))
do
echo -n "*"
done
echo ""
done
11、等腰梯形
方法1
#!/bin/bash
for ((i=6; i>=1;i--))
do
for ((k=1; k<=$i;k++))
do
echo -n " "
done
for ((j=6;j>=1;j--))
do
echo -n "*"
done
for ((h=6; h>=$i;h--))
do
echo -n "*"
done
for ((g=6;g>$i;g--))
do
echo -n "*"
done
echo ""
done
方法2
#!/bin/bash
for ((i=1;i<=9;i++))
do
for ((j=9;j>=$i;j--))
do
echo -n " "
done
a=$[$i*2 +5] # 等腰三角形为减,等腰梯形为加
for k in `seq 1 $a`
do
echo -n "*"
done
echo ""
done
以上是关于Shell脚本练习二部曲的主要内容,如果未能解决你的问题,请参考以下文章