第一次写博客,心情有点小激动呢!
今天就简单来分享一下最近的关于 Linux shell 编程的两个小程序。(这里在开头先写个抱歉,程序的代码只有截图)
题目如下:
内容一:猜数游戏
实验步骤:
1) 使用cat命令新建一个shell文件,根据以下提示,构思、编写相关命令。
2) 产生一个100以内的非零、随机数;
3) 使用一个循环判断用户的输入;提示用户输入数字;判断此数是否在1-100以内,如果不在,则提醒用户重新输入;
4) 判断是否猜对,如果正确,就输出提示信息,清除相关变量并退出;如果没有猜对,给出下次猜大或猜小的温馨提示,鼓励用户继续进行猜此数的游戏。
5) 保存上述文件,执行看其运行效果。
首先是cat 的shell 命令 :
利用 cat>文件名<<终止符
命令可以在当前路径位置创建文件,可以去查一下cat 命令的一些类似查看、追加的一些其他格式。
对于产生随机数,可以利用自带的RANDOM函数进行生成变量,也可以自己定义一个函数进行生成,我是利用了第二种方法,定义一个function rand()函数进行生成。对了,这里要提醒一下shell编程新手(也是提醒下我自己)对于shell编程中利用到变量的值的时候前面要加$符号,表示取值。代码如下:
这里使用了一个产生随机数的代码date +%s%N
,利用时间产生随机数,具体如下:
date +%s%N #生成19位数字
date +%s%N | cut -c6-13 #取八位数字
date +%s%N | md5sum | head -c 8 #八位字母和数字的组合
之后用另外的一个变量来接收产生的随机数:
接着就是用户猜数的环节了
利用 read 命令进行输入:
之后就是对输入和程序产生的随机数进行比较,不过比较前要先判断是否不在要求的范围内,这些判断统统写入循环内部,允许用户多次输入获得正确答案。我在这里用的是while
循环,关于整数比较命令如下:
-eq 等于,如:if [ “ a