Linux操作系统编程 实验一 Shell编程

实验目的

按要求编写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运行结果

原文地址:https://www.cnblogs.com/ast935478677/p/14125330.html