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声明变量的更多相关文章

  1. SQL在declare声明变量

    在sql添加的声明变量. declare @local_variable data_type 你需要指定一个变量声明的类型, 能够使用set和select对变量进行赋值, 在sql语句中就能够使用@l ...

  2. Shell系列(8)- 变量与变量分类(1)

    变量命名规则 开头为字符或下划线,名字中间中能有字母.数字和下划线组成; 变量的长度不超过255个字符; 变量名在有效的范围内必须是唯一的; 如再次定义则会替换上一个变量的值 在Bash中,变量的默认 ...

  3. 『忘了再学』Shell基础 — 14、环境变量(二)

    目录 1.PS1变量的作用 2.PS1变量的查看 2.PS1可以支持的选项 3.PS1环境变量的配置 4.总结 提示: 在Linux系统中,环境变量分为两种.一种是用户自定义的环境变量,另一种是系统自 ...

  4. Linux Shell系列教程之(十四) Shell Select教程

    本文是Linux Shell系列教程的第(十四)篇,更多Linux Shell教程请看:Linux Shell系列教程 在上一篇文章:Linux Shell系列教程之(十三)Shell分支语句case ...

  5. Linux Shell系列教程之(十三)Shell分支语句case … esac教程

    本文是Linux Shell系列教程的第(十三)篇,更多Linux Shell教程请看:Linux Shell系列教程 分支语句非常实用,基本上高级语言都支持分支语句(python 没有),大多数都使 ...

  6. Linux Shell系列教程之(十二)Shell until循环

    本文是Linux Shell系列教程的第(十二)篇,更多Linux Shell教程请看:Linux Shell系列教程 在上两篇文章Linux Shell系列教程之(十)Shell for循环和Lin ...

  7. Linux Shell系列教程之(十七) Shell文件包含

    本文是Linux Shell系列教程的第(十七)篇,更多Linux Shell教程请看:Linux Shell系列教程 通过文件包含,可以引用其他文件的内容,也可以将复杂内容分开,使程序结构更加清晰. ...

  8. Linux Shell系列教程之(十六) Shell输入输出重定向

    本文是Linux Shell系列教程的第(十六)篇,更多Linux Shell教程请看:Linux Shell系列教程 Shell中的输出和输入的重定向是在使用中经常用到的一个功能,非常实用,今天就为 ...

  9. Linux Shell系列教程之(十五) Shell函数简介

    本文是Linux Shell系列教程的第(十五)篇,更多Linux Shell教程请看:Linux Shell系列教程 函数可以将一个复杂功能划分成若干模块,从而使程序结构更加清晰,代码重复利用率更高 ...

随机推荐

  1. 渲染优化之CSS Containment

    引言 在开始介绍今天的主角 CSS Containment 之前,我们需要了解一些前置知识回流和重绘,方便我们理解以及应用的场景. 简单回忆下回流和重绘 回流(Reflow):当浏览器必须重新处理和绘 ...

  2. go-zero:微服务框架

    go-zero 是一个集成了各种工程实践的 Web 和 rpc 框架,它的弹性设计保障了大并发服务端的稳定性,并且已经经过了充分的实战检验. go-zero 在设计时遵循了 "工具大于约定和 ...

  3. SQL 练习29

    查询课程名称为「数学」,且分数低于 60 的学生姓名和分数 SELECT Student.Sname,Course.Cname,SC.score FROM Student,Course,SC WHER ...

  4. 轻量级状态管理库Pinia试吃

      最近连续看了几个GitHub上的开源项目,里面都用到了 Pinia 这个状态管理库,于是研究了一下,发现确实是个好东西!那么,Pinia 的特点: 轻量化 -- Pinia 体积约1KB,十分轻巧 ...

  5. 《手把手教你》系列技巧篇(二十一)-java+ selenium自动化测试-浏览器窗口的句柄(详细教程)

    1.简介 今天本来就要分享和讲解三大延时等待的,但是在写作过程中发了问题,会用到这一个知识点,于是就提前介绍一下,以便后边用到了可以更好的理解和掌握.本文就是要介绍如何获得浏览器窗体的句柄或者叫编号, ...

  6. VMware + LInux + Xshell 连接环境设置

    一.安装好Centos后,打开设置: 网络连接四中模式桥接模式.NAT模式.仅主机和自定义模式: 1).桥接模式:更公司的局域网连接,等于另一台连接进公司的新电脑 2).NAT模式:与虚拟机使用的计算 ...

  7. 深层剖析鸿蒙轻内核M核的动态内存如何支持多段非连续性内存

    摘要:鸿蒙轻内核M核新增支持了多段非连续性内存区域,把多个非连续性内存逻辑上合一,用户不感知底层的不同内存块. 本文分享自华为云社区<鸿蒙轻内核M核源码分析系列九 动态内存Dynamic Mem ...

  8. com 组件的本知识

    (今日看到网络上关于"COM中GUID......"文章,写的好,故记录之.)当初微软设计com规范的时候,有两种选择来保证用户的设计的com组件可以全球唯一:第一种是采用和Int ...

  9. Jsoup类

    一.简介 Jsoup是一款HTML解析器,可以直接解析url地址,也可以解析html文本内容.也可通过DOM.CSS以及类似于jQuery的操作方法来取出和操作数据.其主要功能: 1.从url.字符串 ...

  10. HttpClient4.3教程 第四章 HTTP认证

    HttpClient既支持HTTP标准规范定义的认证模式,又支持一些广泛使用的非标准认证模式,比如NTLM和SPNEGO. 4.1.用户凭证 任何用户认证的过程,都需要一系列的凭证来确定用户的身份.最 ...