LINUX:read、array、declare
- read:要读取来自键盘输入的变量
使用规则:
read [-pt] variale
选项与参数:
-p:后面接提示字符;
-t:后面接等待的“秒数”;
如果read之后不加任何参数,直接加上变量名称,那么底下就会出现一个空白行等待输入。
应用举例:
1、提示使用者30秒内输入自己的大名,并将输入字符串作为名为named的变量内容。
###read -p “Please keyin your name:” -t 30 named
Please keyin your name:XXX
###echo $named
XXX
- declare/typeset:宣告变量的类型
使用规则:
declare [-aixr] variable
选项与参数:
-a:将后面名为variable的变量定义成为数据(array)类型;
-i :将后面名为variable的变量定义为整数数字(integer)类型;
-x:用法与export一样,就是将后面的variable变成环境变量;
-r :将变量设定为readonly类型,该变量不可被更改内容,也不能unset;
如果declare后面没有接任何参数,那么bash会主动的将所有的变量名称与内容通通显示出来了,就像使用set一样。
应用举例:
1、让变量sum进行100+300+50的加总结果
###sum=100+300+50
###echo $sum
100+300+50
###declare -i sum=100+300+50
###echo $sum
450
第一个显示结果是100+300+50的原因是因为默认的是文字形态的变量属性。
而第二个显示结果显示正确,declare把sum定义为整型数据。
注意:
在默认情况下,bash对变量有几个基本的定义:
1、变量类型默认为“字符串”,所以不指定变量类型,就会被认为是字符串,所以上例才会出现那种情况。
2、bash环境中的数值运算,预设最多仅能达到整数形态,即1/3结果是0。
- 数组(array)变量类型
使用规则:
var[index]=content 在bash中,这是数组的设定方式。
其中,var是数组名,content是数组的内容
读取:echo ${数组}
LINUX:read、array、declare的更多相关文章
- [Swift通天遁地]五、高级扩展-(6)对基本类型:Int、String、Array、Dictionary、Date的扩展
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★➤微信公众号:山青咏芝(shanqingyongzhi)➤博客园地址:山青咏芝(https://www.cnblogs. ...
- 003-Tuple、Array、Map与文件操作入门实战
003-Tuple.Array.Map与文件操作入门实战 Tuple 各个元素可以类型不同 注意索引的方式 下标从1开始 灵活 Array 注意for循环的until用法 数组的索引方式 上面的for ...
- 实现一个函数clone,使JavaScript中的5种主要的数据类型(包括Number、String、Object、Array、Boolean)进行值复制
实现一个函数clone,可以对JavaScript中的5种主要的数据类型(包括Number.String.Object.Array.Boolean)进行值复制. 1 /** 对象克隆 2 * 支持基本 ...
- Spark存储Parquet数据到Hive,对map、array、struct字段类型的处理
利用Spark往Hive中存储parquet数据,针对一些复杂数据类型如map.array.struct的处理遇到的问题? 为了更好的说明导致问题的原因.现象以及解决方案,首先看下述示例: -- 创建 ...
- scala中List、Array、ListBuffer、ArrayList、Set
scala中List.Array.ListBuffer.ArrayList.Set 一.List 二.Array 三.LIstBuffer 四.ArrayBuffer 五.Set 一.List Lis ...
- 实现一个函数clone,可以对JS中的5种数据类型(Number、String、Object、Array、Boolean)进行值复制
实现一个函数clone,可以对JS中的5种数据类型(Number.String.Object.Array.Boolean)进行值复制
- linux:磁盘的分割、检验、格式化与挂载
新增一颗磁碟: 1.对磁碟进行分割,以建立可用的partition 2.对该分割槽partition进行格式化(format),以建立系统可用的filesystem 3.若要仔细点,可对刚刚建立的fi ...
- Linux:Day12(下) 进程、任务计划
vmstat命令: vmstat [options] [delay [ count]] procs: r:等待运行的进程的个数: b:处于不可中断睡眠态的进程个数:(被阻塞的队列的长度): memor ...
- Linux:Day7(上) find、文件特殊权限、if语句
文件查找: 在文件系统上查找符合条件的文件: 文件查找工具:locate,find locate:非实时查找(数据库查找) find:实时查找: locate: 依赖于事先 构建的索引:索引的构建是在 ...
随机推荐
- scrapy基础教程
1. 安装Scrapy包 pip install scrapy, 安装教程 Mac下可能会出现:OSError: [Errno 13] Permission denied: '/Library/Pyt ...
- Maven打包程序
1.src/main目录下建立scritps.config.assembly目录 scritps:存放脚本文件如批处理 assembly:打包配置文件 2.assembly目录下建立package ...
- Scrum Meeting 12-20151218
任务安排 姓名 今日任务 明日任务 困难 董元财 无 网络连接框架优化 无 胡亚坤 无 修复商品列表排列混乱) 无 刘猛 无 无 马汉虎 无 无 赖彦俞 无 无 燃尽图 团队照片 代码签入记录 今天开 ...
- IT关键词,发现与更新,点成线,线成面,面成体
时序图 1.什么是时序图 2.如何看懂时序图 3.时序图的作用 4.如何绘制时序图 分布式 一个业务分拆多个子业务,部署在不同的服务器上. 分布式是指将不同的业务分布在不同的地方. 而集群指的是将几台 ...
- Deep Learning 26:读论文“Maxout Networks”——ICML 2013
论文Maxout Networks实际上非常简单,只是发现一种新的激活函数(叫maxout)而已,跟relu有点类似,relu使用的max(x,0)是对每个通道的特征图的每一个单元执行的与0比较最大化 ...
- UITableView使用
@多组数据和多组cell 1根数组内含数组时,只可以开启一组cell,内含多个数组时,可以开启多组cell 2多个数组开启多个cell时,既可以竖向开启,也可以横向里层开启,就好比猜题的模式 @注意点 ...
- C#: DataBase
using System.Data.SqlClient; namespace WindowsFormsApplication1{ class DB { private SqlConnection co ...
- table中的th td margin不生效
margin-top,margin-left,margin-right,margin-bottom 是body中的属性th,td 是表格的元素与之对应的是padding-top,padding-lef ...
- 阿里云docker
https://cr.console.aliyun.com docker 安装mysql image sudo docker pull mysql docker 运行 mysql docker r ...
- eclipse中遇到的小问题
1.在启动eclipse的时候,遇到了build path specifies execution enviroment J2SE-1.5.There are noJREs installed.的相关 ...