1. 编写一个脚本,它能够显示:序列前10个数字:0、1、1、2、3、5、8、13、…
(1)代码
#!/bin/bash
n=0
echo "$n "
m=1
echo "$m "
tmp=
cnt=2
while [ $cnt -lt 10 ]
do
tmp=$(expr $n + $m)
echo "$tmp "
cnt=$(expr $cnt + 1)
n=$m
m=$tmp
done
(2)运行结果展示
2. 提示用户输入一个小于100的整数,求1到该数的奇数和
(1)代码
#!/bin/bash
read -p "请输入一个小于100的整数:" num
sum=0
for ((i=1; i<=$num; i++))
do
tmp=$[$i % 2]
if [ $tmp == 1 ];then
sum=$(($sum+$i))
fi
done
echo "1到$num的奇数和为:$sum"
(2)运行结果展示
3. 编写一个脚本,显示下面菜单:
(1)代码
#!/bin/bash
echo "1. Display list of all users currently logged in."
echo "2. Get help on a particular command."
echo "Press <Ctrl+D> to exit."
read ch
case $ch in
1)
who
;;
2)
echo "Enter a command name."
read command
if test -z "$command"
#判断字符串长度是否为0
then exit
else
man $command
fi
;;
*)
echo "非法选项!"
esac
(2)运行结果展示
4. 对以下数组按从小到大排序(23 55 76 99 104 37 62 90 756 3)
(1)代码
#!/bin/bash
arr=(23 55 76 99 104 37 62 90 75 63)
len=${#arr[*]}
for((i=1;i<$len;i++))
do
for((j=0;j<$len-1; j++))
do
if [ ${arr[$j]} -gt ${arr[$j+1]} ];then
tmp=${arr[$j]}
arr[$j]=${arr[$j+1]}
arr[$j+1]=$tmp
fi
done
done
echo ${arr[*]}
(2)运行结果展示
5. 打印倒三角九九乘法表
(1)代码
#!/bin/bash
for((i=1;i<=9;i++))
do
for((k=1;k<$i;k++))
do
echo -e -n "\t"
done
for((j=$i;j<=9;j++))
do
echo -e -n "${i}×${j}=$[ $i*$j ]\t"
done
printf "\n"
done
(2)运行结果展示
6. 打印空心方格(m*n)
(1)代码
#!/bin/bash
read -p "请输入m×n方格参数:" m n
# 第1行
echo -n "┌"
for((j=2; j<$n; j++))
do
echo -n "-"
done
echo "┐"
# 第2 ~ m-1行
for((i=2; i<$m; i++))
do
echo -n "|"
for((j=2; j<$n; j++))
do
echo -n " "
done
echo "|"
done
# 第m行
echo -n "└"
for((j=2; j<$n; j++))
do
echo -n "-"
done
echo "┘"
(2)运行结果展示