1.函数介绍declare(别名类型集)是Shell的内置命令,用于声明Shell变量和设置变量属性,或查看已定义的Shell变量和函数。
如果不添加任何参数,则仅执行define / typeset将显示所有Shell变量和函数(与执行set命令的效果相同)。
2.命令格式声明[-aAfFgilrtux] [-p] [名称[=值]。
..]排版[-aAfFgilrtux] [-p] [名称[=值]。
..] 3.选项说明-a:声明数组变量-A:声明关联数组,可以将字符串用作数组索引-f:仅显示定义的函数-F:不显示函数定义-g:将变量指定为全局变量,即使变量在函数中定义-i:声明整数变量-l:将变量值的小写字母更改为小写字母-r:设置只读属性-t:设置变量跟踪属性,用于跟踪函数对于调试,对于变量没有特殊含义-u:变量值的大写字母变为大写字母-x:用环境变量替换指定的Shell变量-p:显示变量定义的方式和值+:取消变量属性,但+ a和+ r无效,您不能删除数组和只读属性。
您可以使用unset删除数组,但是unset不能删除只读变量。
4.示例(1)定义关联数组并访问它们。
clarify-AassArray =([lucy] = beijing [yoona] = shanghai)#read关联数组的所有内容echo $ {assArray [*]}#or echo $ {assArray [@]}#output beijingshanghai#read指定的索引Array值echo $ {assArray [lucy]}#输出:beijing#列出数组索引列表echo $ {! assArray [*]}#or echo $ {! assArray [@]}#Output yoonalucy(2)定义只读变量。
Shell声明只读变量的生命周期与当前的Shell脚本过程相同,并且只读属性和无法删除只读变量。
除非杀死当前的Shell脚本进程。
(3)使用-p选项显示变量name1和name2的定义和当前值。
声明-pname1name2#输出声明-rname1 =“ lvlv1”声明-rname2 =“ lvlv2” (4)使用-x选项将Shell变量转换为临时环境变量,以供当前Shell会话中的其他Shell进程使用,并退出当前Shell会话Invalidate。
声明-xname1; (5)显示所有Shell环境变量。
声明-x(6)使用+ x选项取消该变量作为环境变量。
delcare + xname1(7)声明一个整数变量,并且在分配浮点值时将报告错误。
clarify-iinteger = 666原始标题:每天一条Linux命令(128条):declare / typeset命令文章来源:[微信公众号:Linux爱好者]欢迎您关注!请指出转载文章的来源。