语法
declare [-/+ aixrfF] variable
作用
定义带类型的变量。
参数
- +/-
“-“可用来指定变量的属性,”+”则是取消变量所设的属性。 - -a
数组类型 - -i
整数类型 - -p
可以查看变量类型 - -x
与export相同,将变量定义为环境变量 - -r
定义为只读类型 - -f
显示此脚本前面定义过的所有函数名及其内容。 - -F
仅打印函数名字。
使用实例
变量定义
[root@Ethan /Ethan]# declare -i sum=10+20+30
[root@Ethan /Ethan]# echo ${sum}
60
[root@Ethan /Ethan]# declare -a var[0]='0' var[1]='1'
[root@Ethan /Ethan]# set | grep 'var'
var=([0]="0" [1]="1")
#也可以直接使用下面的方式直接定义数组
[root@Ethan /Ethan]# var2=([0]='a' [1]='b')
[root@Ethan /Ethan]# set | grep 'var'
var=([0]="0" [1]="1")
var2=([0]="a" [1]="b")
[root@Ethan /Ethan]# echo ${var2[0]}
a
列出函数
[root@Ethan /Ethan]# cat declareLen.sh
func()
{
echo "hello"
}
declare -f
declare -F
[root@Ethan /Ethan]# sh declareLen.sh
func ()
{
echo "hello"
}
declare -f func
查看变量类型
[root@Ethan /Ethan]# declare -p var var2
declare -a var='([0]="0" [1]="1")'
declare -a var2='([0]="a" [1]="b")'