实验目的
按要求编写3个脚本。
脚本1
编写一段bash脚本,满足如下要求:
(1)脚本接收2个整型参数,用来指定开始和结束
(2)计算并输出从开始到结束整数间所有偶数的和
提示: 采用for或者while循环 引入局部变量对循环进行计数 引入局部变量计算中间结果。
脚本2
编写一段bash脚本,满足如下要求:
(1)脚本接收1个字符串参数,用于指定目标路径
(2)将目标路径中的所有目录名称输出到/tmp/dir.txt文件中
(3)将目标路径中的所有文件名称输出到/tmp/files.txt文件中
提示: for filename in `ls` ls –F 正则表达式匹配:if [[ $filename =~ (.*/$) ]] 注意每行代码中的空格 采用echo输出
脚本3
编写一段脚本bash脚本,使用awk计算score.txt中后三列的平均分,score.txt的内容如下
Marry 2143 78 84 77 Jack 2321 66 78 45 Tom 2122 48 77 71 Mike 2537 87 97 95 Bob 2415 40 57 62
实验过程
exp01_1.sh
#!/bin/bash
read -p "please input ibegin: " begin
read -p "olease input iend: " end
i=$begin
sum=0
while [ $i -le $end ]
do
if [ $(($i%2)) -eq 0 ]
then
let sum+=i
fi
let i++
done
echo "sum=$sum"
exp01_2.sh
#!/bin/bash
read -p "please input a string: " path
for filename in `ls -F $path`
do
if [[ $filename =~ (.*/$) ]]
then
echo $filename >> /tmp/files.txt
else
echo $filename >> /tmp/dir.txt
fi
done
exp01_3.sh
#!/bin/bash
awk '{print (($3+$4+$5)/3);}' /home/test/linux_xxxx_demo/score.txt
实验结果
脚本1运行结果
脚本2运行结果
脚本3运行结果