今天我们继续对shell进行学习,我们在学习C语言的时候,我们可能学过从键盘获取输入的函数,那么在shell中我们也可以这样,这个命令是read,下面我们来详细讲讲read这个指令:read指令有很多参数,这里我只想列举出我们之后会用到的。
格式:read –p “xxx” var
参数—p的意思是输出提示信息,因为一个比较好的程序,应该给用户更多的提示信息,这样让用户的交互会更容易,“xxx”的内容就是要输出的提示信息,后面的var就是用来接收键盘输入的值的变量。
我们编写一个名叫test.sh的shell脚本:
我们来稍微解释一下这个程序,第一行就不必说了,这是shell脚本必备的。第二行功能就是在屏幕上输出“please input a num”,提示用户输入一个数,输入完毕,我们回车之后,程序就会接收这个输入的值,并将它存在num中;第三行,我们将在屏幕上打印出输入的值。功能就这么简单。
下面我们来看一下效果:
运行脚本后:
系统等待我们输入一个值,我们输入一个10,然后回车:
可以看出屏幕上打印出了我们预期的结果。
现在我还想向大家强调介绍的一点是,linux中对我们创建的普通变量都默认为字符串类型,我们举个例子向大家演示一下。
可能好多人觉得,上面最终输出c的值为3,那么我们来看看,回车之后:
我们可以看到,输出的结果不是3,而是1+2,就是因为linux系统把输入的变量作为字符串,所以他输出的c也是一个字符串。他没有将$a+$b当作数值计算来算。但是我们在linux中最常用的进行数值运算的方法是利用$(())这种方式,就是$加上双括号,这个符号对双括号里面的式子进行数值运算。
我们来演示一下:
可以看出,现在我们终于可以成功的算出两个整数的和了。
下面我们就可以来写一个简单的shell程序了,功能就是计算从键盘输入的两个值的和,打印到屏幕上。程序下:
这个程序一看就懂,就不多解释了,我们直接来看看运行结果:
运行结果如上图所示。到此,我们完成了一个稍具功能的shell程序。
小白我这个系列的帖子已经做了汇总,这是第本系列第12篇帖子,汇总贴是:嵌入式入门学习笔记系列 (点击蓝色字符可以直接进入),欢迎大家和我交流~