下面列出了幾個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