Shell系列(14)- declare声明变量
declare声明变量类型
格式
declare [+/-] [选项] [变量名]
选项
- -:给变量设定类型属性
- +:取消变量的类型属性
- -a :将变量声明为数组型
- -i :将变量声明为整数型(integer)
- -x :将变量声明为环境变量
- -r :将变量声明为只读变量
- -p :显示指定变量的被声明类型
把变量声明为数值型
- 【root@localhost ~】# aa=11
- 【root@localhost ~】# bb=22
- #给变量aa和bb赋值
- 【root@localhost ~】# declare -i cc=$aa+$bb
- #声明变量cc的类型是整数型,它的值是aa和bb的和
- #之前也讲解了,加法,通过其他方式也可以实现,比如:cc=$(($aa+$bb))

声明数组变量
- 定义数组
- 【root@localhost ~】# user[0]=zs
- 【root@localhost ~】# user[1]=ls
- 【root@localhost ~】# declare -a user[2]=ww
- 查看数组
- 【root@localhost ~】# echo ${user}
- 【root@localhost ~】# echo ${user[1]}
- 【root@localhost ~】# echo ${user[*]}
备注:
- 声明数组有两种方式:变量[下标](只要变量有[下标],shell就知道它是数组)或者declare -a 变量[下标]
- 数组变量引用区别于其他变量,用的是话考好加变量角标:${变量[下标]};${变量}代表取得的数组的第一个参数;${变量[*]}代表数组里面所有参数

声明环境变量
- declare -x 变量名=变量值
- 和export作用相似,但其实export实现的原理就是调用declare来实现的
- export 变量名=变量值

声明变量只读熟悉
- 【root@localhost ~】# declare -r test
- #给test赋予只读属性,但是请注意只读属性会让变量不能修改不能删除,甚至不能取消只读属性,只能通过重启;用的很少,了解即可
查询变量的属性
- declare -p
#查询所有变量的属性
- declare -p 变量
#查询指定变量的属性


Shell系列(14)- declare声明变量的更多相关文章
- SQL在declare声明变量
在sql添加的声明变量. declare @local_variable data_type 你需要指定一个变量声明的类型, 能够使用set和select对变量进行赋值, 在sql语句中就能够使用@l ...
- Shell系列(8)- 变量与变量分类(1)
变量命名规则 开头为字符或下划线,名字中间中能有字母.数字和下划线组成; 变量的长度不超过255个字符; 变量名在有效的范围内必须是唯一的; 如再次定义则会替换上一个变量的值 在Bash中,变量的默认 ...
- 『忘了再学』Shell基础 — 14、环境变量(二)
目录 1.PS1变量的作用 2.PS1变量的查看 2.PS1可以支持的选项 3.PS1环境变量的配置 4.总结 提示: 在Linux系统中,环境变量分为两种.一种是用户自定义的环境变量,另一种是系统自 ...
- Linux Shell系列教程之(十四) Shell Select教程
本文是Linux Shell系列教程的第(十四)篇,更多Linux Shell教程请看:Linux Shell系列教程 在上一篇文章:Linux Shell系列教程之(十三)Shell分支语句case ...
- Linux Shell系列教程之(十三)Shell分支语句case … esac教程
本文是Linux Shell系列教程的第(十三)篇,更多Linux Shell教程请看:Linux Shell系列教程 分支语句非常实用,基本上高级语言都支持分支语句(python 没有),大多数都使 ...
- Linux Shell系列教程之(十二)Shell until循环
本文是Linux Shell系列教程的第(十二)篇,更多Linux Shell教程请看:Linux Shell系列教程 在上两篇文章Linux Shell系列教程之(十)Shell for循环和Lin ...
- Linux Shell系列教程之(十七) Shell文件包含
本文是Linux Shell系列教程的第(十七)篇,更多Linux Shell教程请看:Linux Shell系列教程 通过文件包含,可以引用其他文件的内容,也可以将复杂内容分开,使程序结构更加清晰. ...
- Linux Shell系列教程之(十六) Shell输入输出重定向
本文是Linux Shell系列教程的第(十六)篇,更多Linux Shell教程请看:Linux Shell系列教程 Shell中的输出和输入的重定向是在使用中经常用到的一个功能,非常实用,今天就为 ...
- Linux Shell系列教程之(十五) Shell函数简介
本文是Linux Shell系列教程的第(十五)篇,更多Linux Shell教程请看:Linux Shell系列教程 函数可以将一个复杂功能划分成若干模块,从而使程序结构更加清晰,代码重复利用率更高 ...
随机推荐
- 嵌入式Linux可用的防火墙——iptables:实现ip白名单、mac地址白名单
iptables是linux系统下的一个功能强大的模块,不仅可以用作防火墙,还可以实现NAT等众多路由功能.iptables的容器有很清晰的层次关系: 1. iptables是表的容器,iptable ...
- noip36
开场先看一遍题面,凭着错误的感觉t3叫naive是一个原因,312开局.然后就死的很惨. T1 朴素暴力40pts,细想就有80pts,然而我只写了十分钟左右就爬回T3了,所以... 其实都是借口 正 ...
- 谷歌浏览器崩溃、电脑版微信,vscode打不开网页
家里的电脑使用64位win7,谷歌浏览器直接打开页面都会提示页面崩溃,电脑版微信打开页面链接为空白,vscode打开发行说明或插件说明显示空白,这一系列的问题好像都跟浏览器器有关,之前找了很多文章,都 ...
- PostgreSQL执行计划的解析
一个顺序磁盘页面操作的cost值由系统参数seq_page_cost (floating point)参数指定的,由于这个参数默认为1.0,所以我们可以认为一次顺序磁盘页面操作的cost值为1.下面o ...
- POI实现excel的导入导出
引入依赖 <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</arti ...
- await 关键字 后面跟Task 和Task <T>
1.Task的优势 ThreadPool相比Thread来说具备了很多优势,但是ThreadPool却又存在一些使用上的不方便.比如: ◆ ThreadPool不支持线程的取消.完成.失败通知等交互性 ...
- CrackMe-Cycle
转载自 OllyDBG入门教程 PS:自己逆在 最后的时候总会崩,不知道为什么. 我们输入用户名 CCDebuger,序列号 78787878,点上面那个"Check"按钮,呵 ...
- javacc在stanfordnlp中的应用
总结: 这个javacc感觉比较复杂,在于stanfordnlp中 p.p1 { margin: 0; font: 11px Monaco } CoreMapExpressionExtractor这个 ...
- Java finally语句到底是在return之前还是之后执行
看过网上关于Java中异常捕获机制try-catch-finally块中的finally语句是不是一定会被执行的讨论也有很多. 首先明确一点,下面两种情况finally肯定是不执行的: 1). ret ...
- Executor执行器
Executors: CachedThreadPool 将为每个任务创建一个线程. public class CachedThreadPool { public static void main(S ...