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...

面试题 相关文章推荐
名词解释WEB SERVICE,SOAP,UDDI,WSDL,JAXP,JAXM;JSWDL开发包的介绍。
Oct 27 面试题
JDK安装目录下有哪些内容
Aug 25 面试题
阿尔卡特(中国)的面试题目
Aug 20 面试题
为什么要有struct关键字
May 08 面试题
试解释COMMIT操作和ROLLBACK操作的语义
Jul 25 面试题
北京泡泡网网络有限公司.net面试题
Jul 17 面试题
nohup的用法
Aug 10 面试题
几个常见的软件测试问题
Sep 07 面试题
软件测试英文面试题
Oct 14 面试题
一套软件开发工程师笔试题
May 18 面试题
几个常见的消息中间件(MOM)
Jan 08 面试题
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
咖啡知识 咖啡养豆要养多久 排气又是什么
2021/03/06 新手入门
php 字符过滤类,用于过滤各类用户输入的数据
2009/05/27 PHP
Yii2简单实现给表单添加验证码的方法
2016/07/18 PHP
jquery的ajax从纯真网(cz88.net)获取IP地址对应地区名
2009/12/02 Javascript
javascript中运用闭包和自执行函数解决大量的全局变量问题
2010/12/30 Javascript
jquery isEmptyObject判断是否为空对象的函数
2011/02/14 Javascript
addEventListener()第三个参数useCapture (Boolean)详细解析
2013/11/07 Javascript
JQuery验证jsp页面属性是否为空(实例代码)
2013/11/08 Javascript
JavaScript严格模式禁用With语句的原因
2014/10/20 Javascript
基于jQuery和Bootstrap框架实现仿知乎前端动态列表效果
2016/11/09 Javascript
BootStrap Table后台分页时前台删除最后一页所有数据refresh刷新后无数据问题
2016/12/28 Javascript
vue页面跳转后返回原页面初始位置方法
2018/02/11 Javascript
vue3.0 CLI - 2.4 - 新组件 Forms.vue 中学习表单
2018/09/14 Javascript
vue观察模式浅析
2018/09/25 Javascript
微信小程序实现多选框全选与反全选及购物车中删除选中的商品功能
2019/12/17 Javascript
vue-router定义元信息meta操作
2020/12/07 Vue.js
Python实现的维尼吉亚密码算法示例
2018/04/12 Python
Flask web开发处理POST请求实现(登录案例)
2018/07/26 Python
Scrapy使用的基本流程与实例讲解
2018/10/21 Python
Python中itertools的用法详解
2020/02/07 Python
tensorflow 利用expand_dims和squeeze扩展和压缩tensor维度方式
2020/02/07 Python
Python chardet库识别编码原理解析
2020/02/18 Python
shell程序中如何注释
2012/01/28 面试题
小学生学习感言
2014/03/10 职场文书
农村产权制度改革实施方案
2014/03/21 职场文书
国旗下讲话演讲稿
2014/05/08 职场文书
资产运营委托书范本
2014/10/16 职场文书
12.4全国法制宣传日活动方案
2014/11/02 职场文书
2014年护士长工作总结
2014/11/11 职场文书
安阳殷墟导游词
2015/02/10 职场文书
会计求职自荐信范文
2015/03/04 职场文书
干货!开幕词的写作方法
2019/04/02 职场文书
一文搞懂Python Sklearn库使用
2021/08/23 Python
Pyqt5将多个类组合在一个界面显示的完整示例
2021/09/04 Python
通过Python把学姐照片做成拼图游戏
2022/02/15 Python
MySQL 主从复制数据不一致的解决方法
2022/03/18 MySQL