[dmtsai@study ~]$
echo ${sum}
450
<==
瞭乎??
由于在默认的情况底下,
bash
对于变量有几个基本的定义:
.
变量类型默认为『字符串』,所以若不指定变量类型,则
1+2
为一个『字符串』而不是『计算式』。
所以
上述第一个执行的½果才会出现那个情况的;
.
bash
环境中的数值运算,预设最多½能到达整数形态,所以
1/3
½果是
0
;
现在你晓得为啥你需要½行变量宣告了吧?如果需要非字符串类型的变量,那就得要½行变量的宣告
才行啦!
底下继续来玩些其他的
declare
功能。
范例二:
½
sum
变
成
环
境
变
量
[dmtsai@study ~]$
declare
-
x sum
[dmtsai@study ~]$
export | grep sum
declare
-
ix sum="450"
<==
果然出
现
了!包括有
i
与
x
的宣告!
范例三:
让
sum
变
成只
读属
性,不可更
动
!
[dmtsai@study ~]$
declare
-
r sum
[dmtsai@study ~]$
sum=tesgting
-
bash: sum: readonly variable
<==
老天
爷
~不能改
这个变数
了!
范例四:
让
sum
变
成非
环
境
变
量的自定
义变
量吧!
[dmtsai@study ~]$
declare +x
sum
<==
½
-
变
成
+
可以
½
行『取消』
动
作
[dmtsai@study ~]$
declare
-
p sum
<==
-
p
可以
单独
列出
变
量的
类
型
declare
-
ir sum="450"
<==
看吧!只剩下
i, r
的
类
型,不具有
x
啰
!
declare
也是个很有用的功能~尤其是当我们需要使用到底下的数组功能时,
他也可以帮我们宣告数
组的属性喔!不过,老话一句,数组也是在
shell script
比½常用的啦!
比½有趣的是,如果你不小
心½变量设定为『只读』,通常得要注销再登入才能复原该变量的类型了!
@_@
.
数组
(array)
变量类型
某些时候,我们必须使用数组来宣告一些变量,这有什么好处啊?在一般人的使用上,
果然是看不
出来有什么好处的!不过,如果您曾经写过程序的话,那才会比½了½数组的意义~
数组对写数值
程序的设计师来说,可是不能错过学习的重点之一哩!好!不啰唆~
那么要如何设定数组的变量与
内容呢?在
bash
里头,数组的设定方式是:
var[index]=content
意思是说,我有一个数组名为
var
,而这个数组的内容为
var[1]=
小明,
var[2]=
大明,
var[3]=
好明
....
等等,那个
index
就是一些数字啦,重点是用中刮号
([ ])
来设定的。
目前我们
bash
提供的是一
维数组。老实说,如果您不必写一些复杂的程序,
那么这个数组的地方,可以先略过,等到有需要
再来学习即可!因为要制作出数组,
通常与循环或者其他判断式½互使用才有比½高的存在意义!