雷伟哲 L36 2022-11-26 02:10:37 shell编程
250 0

“嵌入式Linux操作系统实验(2022秋)”实验报告

shell编程

实验报告

实验名称 Shell编程
实验类型 验证性实验
时间 2022.10.23

一. 实验目的

  1. 掌握shell的基本数据类型及基本语法;

  2. 掌握shell基本运算符号及的控制语句;

  3. 能够自主进行shell脚本的编写。

二. 实验内容

  1. 自己编写一个shell脚本,在/home/shiyanlou/Code目录新建mkdirps.sh实现将当前进程情况写入一个pstxt.txt的记事本。

  2. 在Code目录下建立isfd.sh脚本,判断参数字符串是目录、文件亦或是不存在。

  3. 写一个猜数字的shell脚本游戏脚本名称mygame.sh,利用RANDOM产生一个随机数,请用户猜测,如果不对,提示用户太大或太小,直到猜中为止。

  4. 编写一个脚本huaquan.sh实现“剪刀、石头、布”划拳游戏,实现人和电脑对抗。

三. 实验步骤

自己编写一个shell脚本,在/home/shiyanlou/Code目录新建mkdirps.sh实现将当前进程情况写入一个pstxt.txt的记事本。
  1. 通过cd指令进入Code目录;输入vi mkdirps.sh进入vi编辑界面;

  2. 按i键进入编辑模式打出头文件#!/bin/bash;要写入一个.txt文件,用到touch指令建立pstxt.txt记事本;:wq保存并退出vi模式。

  3. 下一步需要通过chmod指令对新建的mkdirps.sh文件进行授权。

  4. ./mkdirps.sh运行文件,运行后输入ls指令观察运行后的结果,是否写入了pstxt.txt记事本。

图片描述

在Code目录下建立isfd.sh脚本,判断参数字符串是目录、文件亦或是不存在。

  1. 在Code目录下输入vi idfd.sh建立idfd.sh脚本并进入vi模式,输入头文件#!/bin/bash,
  2. 利用-f、-d指令分别判断普通文件和目录,编写如下图所示的代码。
  3. :wq保存并退出,
  4. chmod u+x isfd.sh授权isfd.sh脚本,./isfd.sh运行该脚本,运行结果如下图二

图片描述图片描述

写一个猜数字的shell脚本游戏脚本名称mygame.sh,利用RANDOM产生一个随机数,请用户猜测,如果不对,提示用户太大或太小,直到猜中为止。

  1. 在Code目录下输入vi mygame.sh新建脚本并进入脚本的vi模式。

  2. 通过代码rd=((((RANDOM%10))生成0~10的随机数,为了方便起见,直接通过echo $rd输出生成的随机数。

  3. 让user输入猜测的数字,然后用if函数判断user猜测的数和生成的随机数谁大谁小,如果大了,则echo猜大了,再猜一次;如果小了则echo猜小了,再猜一次;如果猜对了,则不需要再猜了,直接echo恭喜你猜对了,其中-lt是测试猜的数是否小于随机数,-gt是判断猜测数是否大于随机数。编写的代码如下图一。

  4. 在指令模式下输入:wq保存并退出vi模式。

  5. 通过chmod指令对mygame.sh授权。

  6. ./mygame.sh运行脚本,运行结果如下图二

图片描述

图片描述

编写一个脚本huaquan.sh实现“剪刀、石头、布”划拳游戏,实现人和电脑对抗。

  1. 在Code目录下输入vi huaquan.sh新建脚本并进入vi模式。

  2. 把剪刀定义给"1",把石头定义给“2”,把布定义给“3”,然后利用RANDOM从13中抽取随机数,让user输入13之中的一个数代表石头剪刀布。

  3. 有序列表建立if判断代码,去判断是user赢了还是电脑赢了,或者平局,(这里注意if后面的判断代码要用[[判断语句]],或者在变量两边加双引号,定义一元表达式),判别后用echo输出指令显示哪一方赢了或者平局。

  4. 用while循环可进行多次猜拳游戏。

  5. 使用chmod指令授权huaquan.sh脚本

  6. ./huaquan.sh运行脚本,结果如下图三,不想玩了可以按ctrl+c键结束游戏。

图片描述 图片描述 图片描述

四. 实验总结

请对本次实验的过程进行思考和总结,并就相关问题和知识点进行说明及归纳。

  1. 总结1:经过本次实验,已经熟练掌握的vi模式的基本指令,以及对创建脚本、授权脚本、运行脚本、对脚本代码编写错误的纠正的熟练运用。还有vi模式下的一些函数、命令的熟悉,例如:if判断函数、echo输出指令、while循环、-lt和-gt判别大小指令、等等
  2. 总结2,在刚接触vi模式的时候还是遇到许多问题的,比如:不知道如何退出vi模式,后来通过询问老师解决了该问题,比如:运行脚本时提示出错,但是不知道该如何去改,最后通过上网查找,解决了该问题

图片描述

最新评论
暂无评论~