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

面试题 相关文章推荐
Java的接口和C++的虚类的相同和不同处
Mar 27 面试题
一份Java笔试题
Feb 21 面试题
C语言面试题
Oct 30 面试题
What is view? why do we have view?
Jun 22 面试题
什么是数据库锁?Oracle中都有哪些类型的锁?
Aug 21 面试题
PPP协议组成及简述协议协商的基本过程
May 28 面试题
SQL注入攻击的种类有哪些
Dec 30 面试题
几个Linux面试题笔试题
Aug 01 面试题
Shell如何接收变量输入
Aug 06 面试题
继承时候类的执行顺序问题,一般都是选择题,问你将会打印出什么?
Nov 18 面试题
史上最全面的Java面试题汇总!
Feb 03 面试题
解释下面关于J2EE的名词
Nov 15 面试题
什么是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
聊天室php&mysql(五)
2006/10/09 PHP
PHP 应用程序的安全 -- 不能违反的四条安全规则
2006/11/26 PHP
cache_lite试用
2007/02/14 PHP
利用php下载xls文件(自己动手写的)
2014/04/18 PHP
如何使用PHP Embed SAPI实现Opcodes查看器
2015/11/10 PHP
PHP自定义函数获取汉字首字母的方法
2016/12/01 PHP
Yii2――使用数据库操作汇总(增删查改、事务)
2016/12/19 PHP
MAC下通过改apache配置文件切换php多版本的方法
2017/04/26 PHP
关于php开启错误提示的总结
2019/09/24 PHP
PHP常用函数之格式化时间操作示例
2019/10/21 PHP
PHP实现文件上传与下载
2020/08/28 PHP
JS控制表格隔行变色
2006/06/26 Javascript
javascript addBookmark 加入收藏 多浏览器兼容
2009/08/15 Javascript
JavaScript+CSS实现仿天猫侧边网页菜单效果
2015/08/25 Javascript
jquery特效 点击展示与隐藏全文
2015/12/09 Javascript
基于JavaScript实现文字超出部分隐藏
2016/02/29 Javascript
vue+node+webpack环境搭建教程
2017/11/05 Javascript
详细分析JS函数去抖和节流
2017/12/05 Javascript
Vue调试神器vue-devtools安装方法
2017/12/12 Javascript
基于mpvue小程序使用echarts画折线图的方法示例
2019/04/24 Javascript
python基于queue和threading实现多线程下载实例
2014/10/08 Python
Python实现中文数字转换为阿拉伯数字的方法示例
2017/05/26 Python
Python中xrange与yield的用法实例分析
2017/12/26 Python
深入理解Python 关于supper 的 用法和原理
2018/02/28 Python
Python递归实现汉诺塔算法示例
2018/03/19 Python
python实现支付宝当面付(扫码支付)功能
2018/05/30 Python
python 筛选数据集中列中value长度大于20的数据集方法
2018/06/14 Python
对Python 多线程统计所有csv文件的行数方法详解
2019/02/12 Python
python3从网络摄像机解析mjpeg http流的示例
2020/11/13 Python
pycharm配置QtDesigner的超详细方法
2021/01/25 Python
外贸业务员工作职责
2014/01/06 职场文书
合作意向书格式及范文
2014/03/31 职场文书
演讲比赛策划方案
2014/06/11 职场文书
人大代表选举标语
2014/10/07 职场文书
庐山导游词
2015/02/03 职场文书
基于PyQt5制作一个群发邮件工具
2022/04/08 Python