declare命令有如下选项:
-a 声明一个数组
-i 声明一个整型
-f 打印所有函数定义
-F 仅打印函数名字
-r 声明一个readonly变量,该变量的值无法改变,并且不能为unset
-x 和export的作用类似
1) 这里需要注意的是,当使用-i选项来做算数运算的时候,等号右边的变量前面没有$符,并且等号右边的变量可以不用declare -i进行声明。shell自动把赋值给declare -i声明的表达式作为算数表达式求值。同时,为了避免一些特殊符号(比如*),最好将表达式放在单引号里面:
a=
b=
declare -i result='a * b'
2)与declare -i类似的操作是let,语法格式如下:
let var=expression
a=
b=
let result='a * b'
同样,等号右边的变量前面没有$符,并且等号右边的变量可以不用declare -i进行声明。shell自动把赋值给declare -i声明的表达式作为算数表达式求值。同时,为了避免一些特殊符号(比如*),最好将表达式放在单引号里面
3)将一个数组声明为-r,那么整个数组,以及数组中的每一个元素都是readonly的。