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

面试题 相关文章推荐
同步和异步有何异同,在什么情况下分别使用他们?举例说明
Feb 27 面试题
类的核心特性有哪些
Jan 01 面试题
Android面试宝典
Aug 06 面试题
天游软件面试
Nov 23 面试题
如何估计一张表的大小(假设该表中有1万条数据)
Mar 27 面试题
北京一家公司的.net开发工程师笔试题
Apr 17 面试题
铭立家具面试题
Dec 06 面试题
介绍一下linux文件系统分配策略
Nov 17 面试题
Solaris操作系统的线程机制
Jul 28 面试题
介绍下Lucene建立索引的过程
Mar 02 面试题
JVM是一个编译程序还是解释程序
Sep 11 面试题
灵泰克Java笔试题
Jan 09 面试题
什么是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代码
2012/07/17 PHP
对google个性主页的拖拽效果的js的完整注释[转]
2007/04/10 Javascript
javascript 强制刷新页面的实现代码
2009/12/13 Javascript
对xmlHttp对象方法和属性的理解
2011/01/17 Javascript
javascript使用onclick事件改变选中行的颜色
2013/12/30 Javascript
js判断ie版本号的简单实现代码
2014/03/05 Javascript
使用GruntJS构建Web程序之构建篇
2014/06/04 Javascript
深入理解JavaScript系列(27):设计模式之建造者模式详解
2015/03/03 Javascript
常常会用到的截取字符串substr()、substring()、slice()方法详解
2015/12/16 Javascript
jQuery操作基本控件方法实例分析
2015/12/31 Javascript
JS实现复制内容到剪贴板功能
2017/02/05 Javascript
微信小程序实战之顶部导航栏(选项卡)(1)
2020/06/19 Javascript
JS之if语句对接事件动作逻辑(详解)
2017/06/28 Javascript
微信小程序网络请求实现过程解析
2019/11/06 Javascript
JavaScript 绘制饼图的示例
2021/02/19 Javascript
[01:48:04]DOTA2-DPC中国联赛 正赛 PSG.LGD vs Elephant BO3 第一场 2月7日
2021/03/11 DOTA
python下如何让web元素的生成更简单的分析
2008/07/17 Python
Python中使用PDB库调试程序
2015/04/05 Python
Python使用Srapy框架爬虫模拟登陆并抓取知乎内容
2016/07/02 Python
python daemon守护进程实现
2016/08/27 Python
分享几道你可能遇到的python面试题
2017/07/24 Python
Python之自动获取公网IP的实例讲解
2017/10/01 Python
对PyTorch torch.stack的实例讲解
2018/07/30 Python
python中正则表达式 re.findall 用法
2018/10/23 Python
解决Python使用列表副本的问题
2019/12/19 Python
Python中bisect的使用方法
2019/12/31 Python
Python 程序报错崩溃后如何倒回到崩溃的位置(推荐)
2020/06/23 Python
html5构建触屏网站之touch事件介绍
2013/01/07 HTML / CSS
html5 div布局与table布局详解
2016/11/16 HTML / CSS
HTML5中的Web Notification桌面右下角通知功能的实现
2018/04/19 HTML / CSS
Proenza Schouler官方网站:纽约女装和配饰品牌
2019/01/03 全球购物
通信工程毕业生自荐信
2013/11/01 职场文书
应届大专生自荐书
2014/06/16 职场文书
党委干部批评与自我批评发言稿
2014/09/28 职场文书
2015年世界急救日宣传活动方案
2015/05/06 职场文书
Mysql 如何批量插入数据
2021/04/06 MySQL