Shell如何接收变量输入


Posted in 面试题 onSeptember 24, 2012
在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如何调用MYSQL存储过程
May 30 面试题
Yahoo-PHP面试题4
May 05 面试题
PHP开发工程师面试问题集锦
Nov 01 面试题
如何设定的weblogic的热启动模式(开发模式)与产品发布模式
Sep 08 面试题
static全局变量与普通的全局变量有什么区别
May 27 面试题
C++面试题目
Jun 25 面试题
在数据文件自动增长时,自动增长是否会阻塞对文件的更新
May 01 面试题
如何查询Oracle数据库中已经创建的索引
Oct 11 面试题
2019年分享net面试的经历和题目
Aug 07 面试题
什么是lambda函数
Sep 17 面试题
汇科协同Java笔试题
Mar 31 面试题
如何安装ruby on rails
Feb 09 面试题
什么是makefile? 如何编写makefile?
Aug 08 #面试题
介绍一下grep命令的使用
Jun 28 #面试题
Linux中如何用命令创建目录
Dec 02 #面试题
Linux不知道文件后缀名怎么判断文件类型
Apr 26 #面试题
Linux管理员面试题 Linux admin interview questions
Nov 01 #面试题
shell程序中如何注释
Feb 17 #面试题
Linux Interview Questions For software testers
Jun 02 #面试题
You might like
盘点被央视点名过的日本动画电影 一部比一部强
2020/03/08 日漫
php类中private属性继承问题分析
2012/11/01 PHP
php遍历文件夹下的所有文件和子文件夹示例
2014/03/20 PHP
JavaScript 学习笔记(十二) dom
2010/01/21 Javascript
jQuery动画出现连续触发、滞后反复执行的解决方法
2015/01/28 Javascript
js动态修改表格行colspan列跨度的方法
2015/03/30 Javascript
jQuery实现选中弹出窗口选择框内容后赋值给文本框的方法
2015/11/23 Javascript
基于jquery实现表格无刷新分页
2016/01/07 Javascript
vue.js指令v-model实现方法
2016/12/05 Javascript
JavaScript实现的文本框placeholder提示文字功能示例
2018/07/25 Javascript
js删除数组中某几项的方法总结
2019/01/16 Javascript
JsonProperty 的使用方法详解
2019/10/11 Javascript
微信小程序实现上传多张图片、删除图片
2020/07/29 Javascript
Python之str操作方法(详解)
2017/06/19 Python
python中 chr unichr ord函数的实例详解
2017/08/06 Python
python编程实现12306的一个小爬虫实例
2017/12/27 Python
解决python 输出是省略号的问题
2018/04/19 Python
使用Python通过win32 COM打开Excel并添加Sheet的方法
2018/05/02 Python
Pycharm在创建py文件时,自动添加文件头注释的实例
2018/05/07 Python
python3编写ThinkPHP命令执行Getshell的方法
2019/02/26 Python
Python Django 命名空间模式的实现
2019/08/09 Python
Python FtpLib模块应用操作详解
2019/12/12 Python
Python绘制动态水球图过程详解
2020/06/03 Python
雅诗兰黛旗下专业男士保养领导品牌:Lab Series
2017/05/15 全球购物
英国最受欢迎的价格比较网站之一:MoneySuperMarket
2018/12/19 全球购物
俄罗斯韩国化妆品网上商店:Cosmasi.ru
2019/10/31 全球购物
逻辑链路控制协议
2016/10/01 面试题
建筑学推荐信
2013/11/03 职场文书
员工评语大全
2014/01/19 职场文书
大学生求职信
2014/06/17 职场文书
企业优秀团员事迹材料
2014/08/20 职场文书
2014年大学生党员评议表自我评价
2014/09/20 职场文书
2014年教师业务工作总结
2014/12/19 职场文书
公务员政审材料
2014/12/23 职场文书
化工生产实习心得体会
2016/01/22 职场文书
世界十大儿童漫画书排名,法国国宝漫画排第五,第二是轰动日本连环
2022/03/18 欧美动漫