LINUX:read、array、declare

时间:2022-08-19 09:18:20
  • 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 ${数组}