00:00
那现在呢,我们再来看shell编程里面有一个特别有用的一个小功能,叫做读取控制台的输入。朋友们你看啊,我们前面是通过命令行的方式传参数的,但是呢,在程序执行的过程中,我们也有可能需要用户。交互就是在交互的过程中给我们程序输入一些数据,这个时候呢,就可以用read来读取控制台的输入,明白意思吧,就是说用read来读取控制台输入,那么我们把这个给同学们介绍一下。就是可以。让用户从控制台输一些内容到我们的程序里边去。好,我们看看这个怎么实现。好,给他一个标题二。那朋友们看一下喽,看一下喽,它的基本语法很简单啊,很简单就是read。选项参数选项里面可以带杠P和杠T,杠P代表是读取的十的十,十的一个提示信息,杠T代表我等待多长时间。
01:11
如果我杠T写了个十,就代表十秒,如果十秒你再不输出,不输,不输这个数据,我就不等待了。后面呢,会给他带一个参数,就是后面基本上写一个参数名。他就会把你输的值传到这个参数里面去,能理解吗?好,那么我举两个例子,大家一下就明白了,来,走着。啊,这个案例一下子就能明白。有时候说起来吧,就感觉好像很麻烦,但是举一个例子呢,他一目就了然了,对吧,来走一个。那待会儿呢,我们就实现两个案例,第一个读取控制台,输入一个number,第二个输一个numbers,同时呢要求在十秒内输入,那我们来看一下怎么实现这个功能。好把这个往这边稍微的挪一下。
02:03
他这个一挪吧,就把整个就删掉了,这是不行的。好,再来一下。对吧,再来一下。然后应用实例。有两案例,我们来实现它一下。大家看这个这个参数啊,这个read参数。那么呃,我们现在实现的功能呢?是呃这么一回事,他说读取控制台输入的一个number值。比如说我输一个十,或者输一个20,他能把这个值拿到。读取控制台输入一个numbers,并且要求在十秒内输入。那大家看我的代码怎么实现来走一个啊。这个我就保存退出了YM test什么呢,我们的这个read。看清楚了,来,走一个。好,并。Bash。对不对,好,我们要实现的功能。
03:02
把它粘贴复制到我们的笔记中去。两个案例,其实我们可以放在一起写。啊,其实可以放在一起写。粘过来。好在这边呢,咱们给它一个这样的井号,先看第一个题吧。先看第一个题。第一个呢,他说在输读取控制台输入的一个number值没问题,Read。杠PP就是promote啊,就提示提示的意思,那么我就提示他一个信息,请输入一个数。比如说number等于多少,注意后面来个空格,你要用哪个接收,比如说NUMBER1。那这句话什么意思呢?就是当我们的这个代码执行到这句话的时候,它会阻塞在这里。阻塞在这里,等待用户输入一个值,输入这个值呢,就会交给这个NUMBER1,这个变量能理解吗?好,那么当然我这样就可以把这个值输输出来,我echo一下说。
04:05
你你输入的值,你输入的这个值是多少呢。NUMBER1等于我给大家输出来。NUMBER1。好,这边我们不打空格,在其实在字符串里面打空格它是可以的啊,但是呢,我们为了保持一致就不打了,大家看这个输出,好朋友们看效果。我保存一下,然后给他一个权限,其实是test read,没问题吧,然后点test read,注意看朋友们,你看是不是程序卡主塞在这里了。比如说我给他出一出一个12345。回车,他说你输入的是12345,没没毛病吧。OK,那么这是一个,那么再看第二个了。他说这次你从控制台输入一个numbers,但是呢,要求在十秒内输入。如果寺庙内不输入,我就我就跑了,来,那看这个代码怎么写。
05:03
其实和上面代码很像,所以说我们复制一下。YY。走P一下是不是好,那这个时候呢,我们输入NUMBER2改一下就行了。Number。交给number,但是呢,我有时间限制。所以说我杠杠T10这句话的意思就是在十秒内给我输入啊,不然的话我就我就不等待了。好,然后我们继续输出这句话E。啊。你输入的值是。Number等于多少呢?NUMBER2没问题吧,来保存一下。则执行test read。第一个他是一直在这堵的,给他一身。看这。请你输入那个第二字,我们不说。十秒过后,它就自动跳走了。好,差不多十秒了吧,等待诶,你看跳走了。
06:02
跳走了。对吧,他说你输入第二个值,但是你没有输,值空了,那么你也可以输,比如说我输一个NUMBER1等于890,第二个值,我看你输一个幺零。是不是也也得到了呀,好,就这么一个简单的示意啊,同学们,但是在我们这个用的过程中还是很有意思的,就是因为你要互动的话,就得用read这个指令。好朋友们,我把这个呢给它拿到我们的笔记中去。简单啊,乖。放到我们笔记中,那么案例一和案例二我写在一个程序里面的,所以说。统一站到下边就OK了。那朋友们关于read啊,Read这个指令呢,我们就说到这里。
我来说两句