Bash中的declare语句 虽然人们很少使用bash的declare语句,但它却有几个有用的选项。它可以将一个变量标明为只读变量,也可以把它标明为只是一个数。
若要把一个变量声明为只读,请使用如下语句: declare -r varname 假定有以下脚本: #!/bin/bash
a=13 declare -r a echo $a a=14 echo $a 运行时,第二个赋值语句将不起作用: $ sh decl.sh
13
decl.sh: line 6: a: readonly variable
若要声明变量只接受数值(整数),请使用如下语句: declare -i varname 假定有以下脚本: #!/bin/bash
declare -i a a=12 echo $a a=hello echo $a 运行时,第二个赋值语句没有把出现在语句中的字符串"hello"而是将0赋给变量: $ sh decl2.sh
12
0
declare语句还有其他选择:-a选项可用来把一个变量声明为一个数组,但这没有必要。所有变量都不必显式定义就可以用作数组。事实上,在某种意义上,似乎所有变量都是数组,而且赋值给没有下标的变量与赋值给"[0]"相同。假定有以下脚本: #!/bin/bash
a=12 echo ${a[0]} b[0]=13
echo $b 运行得: $ sh arr.sh
12
13
如需更多选项,请参考bash帮助手册(先搜索"^SHELL BUILTINS",然后搜索"declare")。 |
|
来自: 用勿龍潛 > 《bash脚本语言》