Linux实验一:关于bash脚本编程初体验

一、脚本要求

脚本1:

编写一段bash脚本,满足如下要求:
– 脚本接收2个整数参数,用来指定开始和结束
– 计算并输出从开始到结束整数间所有偶数的和
提示:
– 采用for或while循环
– 引入局部变量对循环进行计数
– 引入局部变量计算中间结果

脚本2:

编写一段bash要求:
– 脚本接收1个字符串参数,用于指定目标路径
– 将目标路径中的所有目录名称输出到/tmp/dir.txt文件中
– 将目标路径中的所有目录名称输出到/tmp/files.txt文件中
提示:
for filename in ls
ls -F
– 正在表达式匹配:if [[ $filename=~(.*V$) ]]
– 注意每行代码中的空格
– 采用echo输出

脚本3:

编写一段awk计算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

二、编写过程

脚本1:

  1. 使用vi test01.sh进行脚本1的编写
    在这里插入图片描述
  2. 进入vi编辑器后,通过键盘i键进入插入模式(可在页面左下查看是否进入插入模式)
    在这里插入图片描述
  3. 开始编辑代码
#!/bin/sh
echo "Please input the begin number:"
# read写入的参数方式类似于c语言中的scanf
# 也可以用$1来获取编译时的传参
read a
echo "Please input the end number:"
read b

c=0
# -le 表示小于等于
while [ $a -le $b ]
do
       num=$(expr $a % 2)
       # -eq 表示等于
       if [ $num -eq 0 ]
       then
               c=$(($a+$c))
               a=$(($a+1))
       else
               a=$(($a+1))
       fi
done

echo "The end number: $c"
  1. 编写完毕后,先按sec退出插入模式,再输入:wq(意思为保存且退出)
  2. 运行
    在这里插入图片描述

脚本2:

  1. 使用vi test02.sh进行脚本2的编写
  2. 编写代码如下:
#!/bin/sh
touch "/tmp/dir.txt"
touch "/tmp/files.txt"

echo "Please input:"
read path

for file in $(ls $path)
do
		# -f 是判断该文件是否为常规文件
       if [ -f $path"/"$file ]
       then
               echo $file "isfile"
               echo $file >> "/tmp/files.txt"
       else
               echo $file "isdir"
               echo $file >> "/tmp/dir.txt"
       fi
done
  1. 进行测试准备(创建目录文件和可读文件)在这里插入图片描述
  2. 运行在这里插入图片描述

脚本3:

  1. 使用touch score.txt创建成绩文本文档并在桌面打开文件编写在这里插入图片描述
  2. 使用awk命令进行后三列的平均分计算
awk 'BEGIN{sum1=0;sum2=0;sum3=0}{sum1+=$3;sum2+=$4;sum3+=$5}END{print "Average1 = ",sum1/NR,"Average2 = ",sum2/NR,"Average3 = ",sum3/NR}' score.txt

在这里插入图片描述

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值