您的位置:首页 > 运维架构 > Shell

shell脚本练习题

2015-12-09 23:41 483 查看

下面列出了几个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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: