下面列出了几个linux学习中的shell脚本题目
1、九九乘法表
#!/bin/bash
echo "九九乘法表"
# 注意((之间不能有空格、加减乘除的格式、还有转义字符\*、-ne
for (( i=1; i<=9; i=i+1 ))
do
for (( j=1; j<=i; j=j+1 ))
do
((result=$i*$j))
echo -ne $i\*$j=$result"\t"
done
echo
done
2、求斐波那契数列的前10项及总和
#!/bin/bash
num[0]=0
num[1]=1
for (( i=2; i<10; i=i+1 ))
do
num1=${num[i-1]}
num2=${num[i-2]}
num[i]=$(($num1+$num2)) done
# 打印所有元素
echo ${num[*]}
sum=0
for (( i=0; i<10; i=i+1 ))
do
sum=$(($sum+${num[i]}))
done
echo $sum
3、编写一个脚本程序备份给定目录下面的所有文件,由第一个参数指出文件所在的目录
#!/bin/bash
read -p "请输入您要备份的目录的绝对路径" beifenDir
read -p "请输入您要备份到那个目录下" destinationDir
# 强制递归复制
cp -rf $beifenDir $destinationDir
4、设计一个程序cuts.sh,它由标准输入读取数据,获取由第一个参数n和第二个参数m所限定范围的数据,n和m都是整数,即从输入的字符串中抽取第n个字符至第m个字符之间的所有字符(包括这两个字符)例如:
$./cuts.sh 11 14
thisis a test of cuts program
#(输入)
test
#(显示结果)
#!/bin/bash
read -p "请输入一个字符串" str
# -c代表截取字符串中的一段
echo $str | cut -c $1-$2
5、编写Shell 程序 计算1—100 之间所有奇数之和
#!/bin/bash
i=1
max=100
sum=0
while [ $i -le $max ]
do
if [ $(($i%2)) -eq 1 ];then
sum=$(($sum+$i))
fi i=$(($i+1)) done
echo $sum
6、利用数组形成存放10个城市的名字,然后利用for循环把他们打印出来
#!/bin/bash
var[10]="nanchang yichun haha djdj ksks hshs shq hsv has haz"
for (( i=1; i<=10; i=i+1 ))
do
echo "${var[$i]}"
done