Linux命令(4)——declare/typeset命令(builtin)
来源:互联网 发布:绝地求生游戏画面优化 编辑:程序博客网 时间:2024/04/30 05:08
1.功能简介
declare命令(别名typeset)属shell内建命令,用于申明shell变量并设置变量属性,或查看已定义的shell变量和函数。若不加上任何参数,则会显示全部的shell变量与函数(与执行set指令的效果相同)。
2.命令格式
declare [-aAfFilurtx] [-p] [name[=value] ...]typeset [-aAfFilurtx] [-p] [name[=value] ...]
3.选项说明
-a:申明数组变量-A:申明关联数组,可以使用字符串作为数组索引-f:仅显示已定义的函数-F:不显示函数定义-i:声明整型变量-l:将变量值的小写字母变为小写-u:变量值的大写字母变为大写-r:设置只读属性-t:设置变量跟踪属性,用于跟踪函数进行调试,对于变量没有特殊意义-x:将指定的shell变量换成环境变量-p:显示变量定义的方式和值+:取消变量属性,但是+a和+r无效,无法删除数组和只读属性,可以使用unset删除数组,但是unset不能删除只读变量
4.示例
(1)定义关联数组并访问。
declare -A assArray=([lucy]=beijing [yoona]=shanghai)#读取关联数组全部内容echo ${assArray[*]}#或echo ${assArray[@]}#输出beijing shanghai#读取指定索引的数组值echo ${assArray[lucy]}#输出:beijing#列出数组索引列表echo ${!assArray[*]}#或echo ${!assArray[@]}#输出yoona lucy
(2)定义只读变量
declare -r name1="lvlv1"#或typeset -r name2="lvlv2"#或readonly name3="lvlv3"
Shell规定,只读变量生命周期与当前Shell脚本进程相同,且不能消除只读属性和删除只读变量,除非kill当前Shell脚本进程。
(3)使用-p
选项显示变量name1和name2的定义方式和当前值。
declare -p name1 name2 name3#输出declare -r name1="lvlv1"declare -r name2="lvlv2"declare -r name3="lvlv3"
(4)使用-x
选项将shell变量转换为临时环境变量,供当前Shell会话的其他shell进程使用,退出当前Shell会话则失效。
declare -x name1;
(5)显示所有shell环境变量。
declare -x
(6)使用+x
选项取消变量为环境变量。
delcare +x name1
(7)申明整型变量,赋值浮点型数值将报错。
declare -i integer=666
参考文献
[1][Shell]数组与关联数组
[2]Linux指令范例速查手册.北京:科学出版社,2008:178-183
1 0
- Linux命令(4)——declare/typeset命令(builtin)
- declare与typeset命令
- Linux命令(21)——cd命令(builtin)
- 【Bash百宝箱】shell内建命令之declare、typeset、local
- linux 之declare 命令
- Linux Shell之declare命令
- Windows DOS builtin命令
- shell typeset命令的使用
- shell typeset命令的使用
- declare命令
- declare命令
- 图解Linux命令之--declare命令
- 【linux学习笔记】bash学习之declare/typeset
- Linux学习- declare / typeset 声明变量类型与属性
- linux中的declare命令-声明变量类型
- linux命令(4)——mkdir命令
- linux基本命令(4)——mkdir命令
- linux基本命令(27)——linux chmod命令
- PTA 两个有序链表序列的合并
- elk 定时清理三天前数据
- jeecg报类型错误
- python中文分句
- PTA 小于m的最大的10个素数
- Linux命令(4)——declare/typeset命令(builtin)
- 对不起,迟到了
- 【Hadoop】Flume-ng源码解析之Sink组件
- 数字1的数量
- 关于spring mvc json请求 415问题
- 套接字编程(1)
- linux下 python安装
- 如何获取到get丶post 请求的url里的所有参数
- 认识padding