我们知道shell中所有的变量实质都是字符串形式,那么这样就造成程序员在编程中的混淆,

所从Bash 2.0之后就引入的命令declare或者typeset内建命令(这两个命令是完全一样的)

允许指定变量的具体类型. 在某些编程语言中, 这是指定变量类型的一种很弱的形式.

typeset也可以用在ksh的脚本中.


declare/typeset选项

-r         只读        与readonly var1是完全一样的

-i         整型        脚本将会把变量按照整型进行处理.

-a         数组        变量将被视为数组.

-f         函数        如果在脚本中使用declare -f, 而不加任何参数的话, 那么将会列出这个脚本

                之前定义的所有函数,否则将只会列出这个函数的名字.

-x                     声明一个变量, 并作为这个脚本的环境变量被导出.


注:declare命令允许在声明变量类型的同时给变量赋值.