Shell如何接收变量输入


Posted in 面试题 onAugust 06, 2016
在shell中使用read 命令接收变量输入,
语法:
read variable [variable......]
例:
$ cat color6
echo This program prompts for user input
echo “please enter your favorite two colors -> \c”
read color_a color_b
echo The colors you entered are: $color_b $color_a
$ chmod +x color6
$ color6
This program prompts for user input
Please enter your favorite two colors -> red blue
The colors you entered are: blue red
$ color6
This program prompts for user input
Please enter you favorite two colors -> red blue tan
The color you enterd are :blue tan red

用户使用命令行参数传递信息进程序,在命令执行之前,用户必须知道正确的语法。有一种情况,你想要在用户执行程序的时候提示他输入这些参数。read命令就是用来在程序执行的时候收集终端键入的信息。
通常使用echo命令来提供用户一个提示,让用户知道程序正在等待一些输入,同时通知用户应该输入的类型。因此,每一个read命令应该在echo命令前面。
read命令会给出一个变量名的列表,这些变量会被用户在提示符下输入的词赋值(以空格分隔)。如果read命令定义的变量比输入的词要多,剩余变量会被赋空值。如果用户输入的词要比变量多,剩余的数据会赋给列表中的最后一个变量。
一旦被赋值,你就可以象其他的shell变量一样存取这些变量。

以下例子提示用户输入要被安装的文件名:
$ cat my_install3
echo $0 will install files into your bin directory
echo “Enter the names of the files -> \c”
read filenames
mv $filenames $HOME/bin
echo Instllation is complete
ctrl + d
$ chmod +x my_install13

$ my_install13
my_install13 will install files into your bin directory
Enter the names of the files -> f1 f2
Installaton is complete

这个安装会提示用户输入chmod和移动到$HOME/bin的文件名。这个程序给用户更多的关于应该输入数据情况的指引。而不像install2中用户必须在命令行中提供文件名。用户使用程序不需要特殊的语法。程序让用户确切地知道要输入什么。所有的输入的文件名都会被赋值给变量filenames。

Tags in this post...

面试题 相关文章推荐
PHP数据运算类型都有哪些
Nov 05 面试题
康拓普公司Java笔面试
Sep 23 面试题
Java提供了哪些企业应用编程接口
Feb 13 面试题
怎么处理XML的中文问题
Mar 26 面试题
RealTek面试题
Jun 28 面试题
请写出 float x 与"零值"比较的 if 语句
Jan 04 面试题
网络安全类面试题
Aug 01 面试题
explicit和implicit的含义
Nov 15 面试题
面向对象设计的原则是什么
Feb 13 面试题
Unix/Linux开发面试题
Aug 16 面试题
Unix控制后台进程都有哪些进程
Sep 22 面试题
WSDL的操作类型主要有几种
Jul 19 面试题
什么是makefile? 如何编写makefile?
Jan 02 #面试题
介绍一下grep命令的使用
Jun 12 #面试题
Linux中如何用命令创建目录
Jan 12 #面试题
Linux不知道文件后缀名怎么判断文件类型
Aug 21 #面试题
Linux管理员面试题 Linux admin interview questions
Jul 08 #面试题
shell程序中如何注释
Jan 28 #面试题
Linux Interview Questions For software testers
May 17 #面试题
You might like
PHP与SQL注入攻击[三]
2007/04/17 PHP
PHP小程序自动提交到自助友情连接
2009/11/24 PHP
windows下开发并编译PHP扩展的方法
2011/03/18 PHP
QQ互联一键登录审核不通过的解决方案
2014/09/10 PHP
CI框架教程之优化验证码机制详解【验证码辅助函数】
2019/04/16 PHP
php实现根据身份证获取精准年龄
2020/02/26 PHP
jquery $(document).ready() 与window.onload的区别
2009/12/28 Javascript
关于JavaScript的面向对象和继承有利新手学习
2013/01/11 Javascript
jQuery实现拖拽效果插件的方法
2015/03/23 Javascript
javascript实现图片自动和可控的轮播切换特效
2015/04/13 Javascript
关于angularJs指令的Scope(作用域)介绍
2016/10/25 Javascript
vue axios重复点击取消上一次请求封装的方法
2019/06/19 Javascript
node.js制作一个简单的登录拦截器
2020/02/10 Javascript
keep-alive不能缓存多层级路由菜单问题解决
2020/03/10 Javascript
OpenLayers3实现地图鹰眼以及地图比例尺的添加
2020/09/25 Javascript
vue使用transition组件动画效果的实例代码
2021/01/28 Vue.js
Python基于回溯法子集树模板解决选排问题示例
2017/09/07 Python
python实现机器学习之元线性回归
2018/09/06 Python
python实现指定字符串补全空格、前面填充0的方法
2018/11/16 Python
python简单实现矩阵的乘,加,转置和逆运算示例
2019/07/10 Python
Python正则表达式急速入门(小结)
2019/12/16 Python
python能做哪些生活有趣的事情
2020/09/09 Python
python mongo 向数据中的数组类型新增数据操作
2020/12/05 Python
Reebonz中国官网:新加坡奢侈品购物网站
2017/03/17 全球购物
中国专业的音频分享平台:喜马拉雅
2019/05/24 全球购物
哥伦比亚加拿大官网:Columbia Sportswear Canada
2020/09/07 全球购物
简单说说tomcat的配置
2013/05/28 面试题
高级销售求职信
2014/02/21 职场文书
四风查摆剖析材料
2014/10/10 职场文书
房地产销售助理岗位职责
2015/04/14 职场文书
2015年小学语文工作总结
2015/05/25 职场文书
观看焦裕禄观后感
2015/06/09 职场文书
爱国主义电影观后感
2015/06/18 职场文书
小学一年级语文教学反思
2016/03/03 职场文书
《狼牙山五壮士》读后感:宁死不屈,视死如归
2019/08/16 职场文书
python 爬取京东指定商品评论并进行情感分析
2021/05/27 Python