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. Windows提权总结

    当以低权用户进去一个陌生的windows机器后,无论是提权还是后续做什么,第一步肯定要尽可能的搜集信息.知己知彼,才百战不殆. 常规信息搜集 systeminfo 查询系统信息 hostname 主机 ...

  2. windows中抓取hash小结(上)

    我上篇随笔说到了内网中横向移动的几种姿势,横向移动的前提是获取了具有某些权限的用户的明文密码或hash,正愁不知道写点啥,那就来整理一下这个"前提"-----如何在windows系 ...

  3. Fiddler抓包实用非常详细,学会不要去做坏事~

    为什么要先学fiddler?学习接口测试必学http协议,如果直接先讲协议,我估计小伙伴们更懵,为了更好的理解协议,先从抓包开始.结合抓包工具讲http协议更容易学一些. 抓firefox上https ...

  4. NOIP 模拟 $38\; \rm c$

    题解 \(by\;zj\varphi\) 发现就是一棵树,但每条边都有多种不同的颜色,其实只需要保留随便三种颜色即可. 直接点分治,将询问离线,分成一端为重心,和两端都不为重心的情况. 每次只关心经过 ...

  5. Java社区——个人项目开发笔记(一)

    1.maven安装与测试 安装过程略,常用的maven命令行工具: mvn --version 查看maven版本 mvn compile 编译maven工程 mvn clean 删除编译文件 mvn ...

  6. C#用SOCKET发送HTTP请求小例

    private void button1_Click(object sender, EventArgs e) { string urlStr = this.textUrl.Text ; if (url ...

  7. 这样设计 Java 异常更优雅

    转自:lrwinx.github.io/2016/04/28/如何优雅的设计java异常/ 导语 异常处理是程序开发中必不可少操作之一,但如何正确优雅的对异常进行处理确是一门学问,笔者根据自己的开发经 ...

  8. 【VLC开发】libvlc_new函数参数

    项目中有视频监控的需求,找了vlc这个开源视频工具,在获取实例参数时遇到了问题, 要得到VLC的全部参数有两种方法, 1 只要在创建时加上"--longhelp"和"-- ...

  9. MySQL时间戳、字符串、日期

    1.时间转字符串:date_format(date, format) SELECT date_format(now(), '%Y-%m-%d') 2.时间转时间戳:unix_timestamp() S ...

  10. jQuery中ajax请求的六种方法(三、五):$.getScript()方法

    5.$.getScript()方法 <!DOCTYPE html> <html> <head> <meta charset="UTF-8" ...