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 ${数组}