嵌入式学习之——shell中从键盘获取输入和数值计算

  • xidianzxc
  • LV3工程师
  • |      2014-11-18 00:32:41
  • 浏览量 834
  • 回复:4

今天我们继续对shell进行学习,我们在学习C语言的时候,我们可能学过从键盘获取输入的函数,那么在shell中我们也可以这样,这个命令是read,下面我们来详细讲讲read这个指令:read指令有很多参数,这里我只想列举出我们之后会用到的。

格式:read –p “xxx” var

参数—p的意思是输出提示信息,因为一个比较好的程序,应该给用户更多的提示信息,这样让用户的交互会更容易,“xxx”的内容就是要输出的提示信息,后面的var就是用来接收键盘输入的值的变量。

我们编写一个名叫test.shshell脚本:

嵌入式学习之——shell中的read命令和数值计算

我们来稍微解释一下这个程序,第一行就不必说了,这是shell脚本必备的。第二行功能就是在屏幕上输出“please input a num”,提示用户输入一个数,输入完毕,我们回车之后,程序就会接收这个输入的值,并将它存在num中;第三行,我们将在屏幕上打印出输入的值。功能就这么简单。

下面我们来看一下效果:

运行脚本后:

     嵌入式学习之——shell中的read命令和数值计算

系统等待我们输入一个值,我们输入一个10,然后回车:

     嵌入式学习之——shell中的read命令和数值计算

可以看出屏幕上打印出了我们预期的结果。

现在我还想向大家强调介绍的一点是,linux中对我们创建的普通变量都默认为字符串类型,我们举个例子向大家演示一下。

     嵌入式学习之——shell中的read命令和数值计算

   可能好多人觉得,上面最终输出c的值为3,那么我们来看看,回车之后:

    嵌入式学习之——shell中的read命令和数值计算

   我们可以看到,输出的结果不是3,而是1+2,就是因为linux系统把输入的变量作为字符串,所以他输出的c也是一个字符串。他没有将$a+$b当作数值计算来算。但是我们在linux中最常用的进行数值运算的方法是利用$(())这种方式,就是$加上双括号,这个符号对双括号里面的式子进行数值运算。

我们来演示一下:

       嵌入式学习之——shell中的read命令和数值计算

可以看出,现在我们终于可以成功的算出两个整数的和了。

下面我们就可以来写一个简单的shell程序了,功能就是计算从键盘输入的两个值的和,打印到屏幕上。程序下:

       嵌入式学习之——shell中的read命令和数值计算

这个程序一看就懂,就不多解释了,我们直接来看看运行结果:

       嵌入式学习之——shell中的read命令和数值计算

运行结果如上图所示。到此,我们完成了一个稍具功能的shell程序。

小白我这个系列的帖子已经做了汇总,这是第本系列第12篇帖子,汇总贴是:嵌入式入门学习笔记系列 (点击蓝色字符可以直接进入),欢迎大家和我交流~

  • 0
  • 收藏
  • 举报
  • 分享
我来回复

登录后可评论,请 登录注册

所有回答 数量:4
zzgege 2014-11-19
顶一个,真不错!!
0   回复
举报
发布
shaoziyang 2014-11-18
顶起来。
0   回复
举报
发布
xidianzxc 2014-11-18
多谢~
0   回复
举报
发布
gtrjolin1986 2014-11-18
好贴!
0   回复
举报
发布
x
收藏成功!点击 我的收藏 查看收藏的全部帖子