输出一个图形:
#!/bin/bash
read -p "请输入一个数字:" n
for i in `seq 1 $n`
do
j=1
while ((j <= n))
do
if [ $n -eq $i ] || [ $i -eq 1 ] || [ $j -eq 1 ] || [ $j -eq $n ];then
echo -n "*"
else
echo -n " "
fi
((j++))
done
echo
done
# ./a.sh
请输入一个数字:6
******
* *
* *
* *
* *
******
99乘法表:
#!/bin/bash
for i in `seq 1 9`
do
for j in `seq 1 $i`
do
echo -en "$j*$i=$((i*j))\t"
done
echo
done
# ./b.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
菲波那切数列
#!/bin/bash
read -p "请输入第一个数:" a
read -p "请输入第二个数:" b
read -p "请输入要查询的第几位:" n
echo -n "$a "
echo -n "$b "
for ((i=3;i<=n;i++))
do
((k=a+b))
echo -n "$k "
a=$b
b=$k
done
# ./c.sh
请输入第一个数:0
请输入第二个数:1
请输入要查询的第几位:10
0 1 1 2 3 5 8 13 21 34
打印2-100的质数
#!/bin/bash
for ((i=2;i<=100;i++))
do
tag=1
for ((j=2;j<=`expr $i / 2`;j++))
do
if [ `expr $i % $j` -eq 0 ];then
tag=0
break;
fi
done
if [ $tag -eq 1 ];then
echo "$i"
fi
done
# ./d.sh
2
3
5
7
11
13
17
19
23
29
31
37
41
43
47
53
59
61
67
71
73
79
83
89
97