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

面试题 相关文章推荐
String是最基本的数据类型吗?
Jun 13 面试题
北京银河万佳Java面试题
Mar 21 面试题
华为慧通笔试题
Apr 22 面试题
阿尔卡特(中国)的面试题目
Aug 20 面试题
编写类String的构造函数、析构函数和赋值函数
May 29 面试题
编写函数,将一个3*3矩阵转置
Oct 09 面试题
什么叫应用程序域?什么是受管制的代码?什么是强类型系统?什么是装箱和拆箱?
Aug 13 面试题
傲盾软件面试题
Aug 17 面试题
编写一个类体现构造,公有,私有方法,静态,私有变量
Aug 10 面试题
abstract 可以和 virtual 一起使用吗?可以和 override 一起使用吗?
Oct 15 面试题
日期和时间问题
Jan 04 面试题
Tomcat的缺省是多少,怎么修改
Apr 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
php xml实例 留言本
2009/03/20 PHP
关于PHP自动判断字符集并转码的详解
2013/06/26 PHP
浅析get与post的一些特殊情况
2014/07/28 PHP
详解laravel安装使用Passport(Api认证)
2018/07/27 PHP
php+iframe 实现上传文件功能示例
2020/03/04 PHP
js清空表单数据的两种方式(遍历+reset)
2014/07/18 Javascript
推荐JavaScript实现继承的最佳方式
2014/11/11 Javascript
js正则表达式中exec用法实例
2015/07/23 Javascript
nodejs express配置自签名https服务器的方法
2018/05/22 NodeJs
JavaScript实现shuffle数组洗牌操作示例
2019/01/03 Javascript
详解微信小程序网络请求接口封装实例
2019/05/02 Javascript
简单通过settimeout看javascript的运行机制
2019/05/10 Javascript
jQuery中DOM常见操作实例小结
2019/08/01 jQuery
通过扫小程序码实现网站登陆功能
2019/08/22 Javascript
[57:28]2018DOTA2亚洲邀请赛 4.6 淘汰赛 TNC vs Liquid 第一场
2018/04/10 DOTA
flask中的wtforms使用方法
2018/07/21 Python
详解Python下Flask-ApScheduler快速指南
2018/11/04 Python
使用TensorFlow实现二分类的方法示例
2019/02/05 Python
Python字符串对象实现原理详解
2019/07/01 Python
django 控制页面跳转的例子
2019/08/06 Python
Python实现图片裁剪的两种方式(Pillow和OpenCV)
2019/10/30 Python
python获取array中指定元素的示例
2019/11/26 Python
Python实现bilibili时间长度查询的示例代码
2020/01/14 Python
将pytorch转成longtensor的简单方法
2020/02/18 Python
pygame实现弹球游戏
2020/04/14 Python
解决c++调用python中文乱码问题
2020/07/29 Python
探讨HTML5移动开发的几大特性(必看)
2015/12/30 HTML / CSS
Etam德国:内衣精品店
2019/08/25 全球购物
美国隐形眼镜网上商店:Lens.com
2019/09/03 全球购物
意大利网上购书网站:Libraccio.it
2021/02/03 全球购物
学期自我评价
2014/01/27 职场文书
计算机专业求职信
2014/06/02 职场文书
学校学习雷锋活动总结
2014/07/03 职场文书
办公室规章制度范本
2015/08/04 职场文书
解决flex布局中子项目尺寸不受flex-shrink限制
2022/05/11 HTML / CSS
Win11运行cmd提示“请求的操作需要提升”的两种解决方法
2022/07/07 数码科技