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系列教程 函数可以将一个复杂功能划分成若干模块,从而使程序结构更加清晰,代码重复利用率更高 ...
随机推荐
- centos7 更新源
centos7 yum源更新 先进入到yum源文件cd /etc/yum.repo.d/ 1.创建一个repo_bak目录,用于保存系统中原来yum的repo文件. sudo mkdir rep ...
- 腾讯云TDSQL MySQL版 - 开发指南 二级分区
TDSQL MySQL版 目前支持 Range 和 List 两种格式的二级分区,具体建表语法和 MySQL 分区语法类似. 二级分区语法 一级 Hash,二级 List 分区示例如下: MySQL ...
- 冰蝎&哥斯拉 流量特征分析
1.冰蝎(Behinder) 下载链接:https://github.com/rebeyond/Behinder/releases 截止至我发贴时,冰蝎最新版本是3.0,客户端兼容性有所提升(但仍不是 ...
- Vue3 Composition API写烦了,试试新语法糖吧—setup script
前言 Vue3发布近一年了,相信大家对Vue3的新特性,新语法都很熟悉了.那么在使用Composition API的过程中,有没有觉得整个过程比较繁琐.比如你的模板里用到了大量的state和方法的时候 ...
- 高性能 C++ HTTP 客户端原理与实现
一.什么是Http Client Http协议,是全互联网共同的语言,而Http Client,可以说是我们需要从互联网世界获取数据的最基本方法,它本质上是一个URL到一个网页的转换过程.而有了基本的 ...
- 题解 Strange Housing
传送门 首先想了黑白染色,发现不会染 其实可以考虑如何动态地维护出这个点集 发现题面里对不在点集之中的点之间的连边没有要求 所以考虑不断向图中加点,为了满足要求,每次取一个与当前新图中相连的点 若它与 ...
- 题解 [美团 CodeM 初赛 Round B]景区路线规划
有个影响因素k,显然不能高斯消元 n和k都不大,可以直接\(O(nk)\)跑DP 然而带上时间这一影响因素后的转移颇为难写,我从6点直接调到9点最后还是只能dfs爆搜骗了55pts 考场上推方程一定要 ...
- java导出excel(easypoi)
介绍 easypoi功能如同名字easy,主打的功能就是容易,让一个没见接触过poi的人员 就可以方便的写出Excel导出,Excel模板导出,Excel导入,Word模板导出,通过简单的注解和模板 ...
- 流媒体 Ubuntu部署srs、windows部署nginx
一.获取项目//码云克隆git clone https://gitee.com/winlinvip/srs.oschina.git srs//githubgit clone https://githu ...
- [题解] SPOJ GSS1 - Can you answer these queries I
[题解] SPOJ GSS1 - Can you answer these queries I · 题目大意 要求维护一段长度为 \(n\) 的静态序列的区间最大子段和. 有 \(m\) 次询问,每次 ...