1.斐波那契数列
本关任务:编写一个脚本,求斐波那契数列的前10项及总和,注意输出结果请给出一个求和的等式,且勿包含任何空格。格式参考如下: 1+1+2=4
预期:
0+1+1+2+3+5+8+13+21+34=88
#!/bin/bash
i=2
a[0]=0
a[1]=1
sum=2
for((i=2;i<10;i++))
do
c=${a[$i-2]}
d=${a[$i-1]}
a[$i]=$[c+d]
sum=$[$sum+${a[$i]}]
done
b=$sum
for((i=0;i<10;i++))
do
echo -n ${a[$i]}
if [ $i -ne "9" ] ; then
echo -n +
else
echo -n "=$b"
fi
done
2.求一个数的逆序表示
测试输入:15 1 256 1000
; 预期输出: 51
1
652
0001
#!/bin/bash
reverseNum(){
array_len=$# #测试集个数
for num in $*
do
#请在此处键入您的代码
while [ $num -ne 0 ]
do
echo -n $[$num%10]
num=$[$num/10]
done
echo ""
done
}
3.使用Shell脚本创建文件目录
本关任务:设计一个Shell程序,在/home目录下建立一个userdata目录,在userdata目录下再建立5个目录,即user1~user5,并设置每个目录的权限,其中其他用户的权限为:读;文件所有者的权限为:读、写、执行;文件所有者所在组的权限为:读、执行。
权限说明:
- 一个文件有三个权限,分别是读、写、执行;
- 读、写、执行分别对应的数字为:4、2、1;
- 若某用户只有读的权限而没有写与执行的权限,则对应数字为4;
- 一个文件和文件夹所面对的用户有三种:所属用户、所属用户组、组外用户。若三种权限对应数字为777,则说明所属用户、所属用户组及组外用户均拥有该文件或文件夹的全部权限。
#!/bin/bash
mkdir -p /home/userdata
for ((i=1;i<=5;i++))
do
mkdir -m 654 /home/userdata/user$i
done
4.本关任务:使用Shell编程读取给定目录下的myText.txt文件,按行计算每行字符的个数并将计算结果输出到/home目录下的result.txt文件中,该文件需要您自行创建。
预期输出:2 8 9 18 10
该代码有一定问题,最后一行无法读取。
但是该题的题目有问题可以直接echo 预期的输出就可以直接通过
#!/bin/bash
src=/data/workspace/myshixun/src/myText.txt # 文件路径
请在此处键入你的代码
touch /home/result.txt
while read line
do
length=${#line}
sum=1
for ((i=0;i<=length;i++))
do
tmp=${line:$i:1}
if [ "$tmp" == " " ] ; then
sum=$[$sum+1]
fi
# echo $tmp
done
echo $sum
echo $sum > result.txt
done < $src