概述

declare 命令可以用于声明 shell 变量及显示已经存在的变量。

declare 定义的变量仅能在当前 shell 环境中有效,切换 shell 环境后失效。

语法

该命令的语法如下:

declare [+/-][选项] [变量名=变量值]

该命令支持的选项有:

选项 说明
+/- "-“可用来指定变量的属性,”+"则是取消变量所设的属性
-a 声明数组变量
-f 仅显示函数
-F 不显示函数定义
-i 先计算表达式,把结果赋给所声明变量
-p 显示给定变量的定义的方法和值,当使用此选项时,其他的选项将被忽略
-r 定义只读变量
-x 将指定的Shell变量转换成环境变量

使用

显示已经定义的变量

如果要查看所有的变量和函数,可以直接使用该命令,不给任何选项。命令格式如下:

declare

声明变量

如果想要使用该命令声明变量,语法格式如下:

# 语法
declare 变量名=变量值
# 示例
declare msg="hello world"# 查看变量的值
echo $变量名
# 示例
echo $msg

数值运算

该命令可以进行数值上的运算,并且将计算结果赋给一个变量。格式如下:

# 语法
declare -i 变量名=表达式
# 示例
declare -i result=4*5
# 查看变量值
echo $result

查看变量属性

如果要查看变量的属性,可以使用 -p 选项。格式如下:

declare -p 变量名

转换普通变量为环境变量

我们可以用 declare 命令把普通变量声明为环境变量,效果和 export 命令一样。命令格式如下:

# 语法
declare -x 变量名=变量值
# 示例
declare -x msg="hello world"

注:如果要查看所有的环境变量,除了 env 命令之外,还可以使用 declare -x 命令。

声明整型变量

我们可以使用 declare 命令声明一个普通变量为整型,即只能存储整数,如果存储其他数据类型的数据则会报错。命令格式如下:

# 语法
declare -i 变量名=整型变量值
# 示例
declare -i num=100

取消变量的属性

如果要取消变量的属性,可以将 - 改为 +。例如取消 -i 选项赋给变量为只能存储整数值的属性就可以改为如下:

# 取消设置的只能存储整数的属性
declare +i 变量名

设置变量为只读

如果要把变量声明为只读则使用 -r 选项。命令格式如下:

# 语法
declare -r 变量名=变量值
# 示例
declare -r msg="hello world"

注:一旦给变量设定了只读属性,那么这个变量既不能修改变量的值,也不能删除变量,更不能用 +r 选项取消只读属性。但是, 因为这个变量只是命令行声明的,所以只要重新登录或重启,这个变量就会消失。

声明数组变量

如果要声明数组变量,则可以使用 -a 选项。命令格式如下:

# 语法
declare -a 数组变量名='([0]="值1" [1]="值2" ... [n]="值n")'
# 示例
declare -a arr='([0]="唐僧" [1]="孙悟空" [2]="猪八戒" [3]="沙僧")'# 查看指定索引的数组原始
echo ${数组名[数组下标]}
# 示例
echo ${arr[0]}
# 查看整个数组变量的内容
echo ${数组名[@]}

Linux命令之声明变量declare相关推荐

  1. Linux 命令(4)—— declare/typeset 命令(builtin)

    1.功能简介 declare(别名 typeset)属 Shell 内建命令,用于申明 Shell 变量并设置变量属性,或查看已定义的 Shell 变量和函数.若不加上任何参数,只执行 declare ...

  2. linux命令行ps1变量_Linux下SHELL的PS1变量简介

    Linux下SHELL的PS1变量简介 Linux环境变量中PS1是很重要的环境变量: PS(Prompt Sign): 是指命令提示符,例如在Fedora 12的终端下:[liutao@liutao ...

  3. linux命令行ps1变量_Linux命令行提示符美化(PS1PS2PS3PS4)

    通过设置环境变量PS1.PS2.PS3以及PS4来自定义用户命令行的字符显示.如果要长期永久性修改提示符,可以将修改提示符的命令添加到$HOME/.profile或$HOME/.bash_profil ...

  4. linux命令行ps1变量_利用Shell中变量PS1定制Linux Shell命令主提示符

    vim .bash_profile # .bash_profile # Get the aliases and functions if [ -f ~/.bashrc ]; then . ~/.bas ...

  5. linux命令行ps1变量_Ubuntu如何修改命令提示符PS1

    Ubuntu在使用命令的时候,有时需要修改命令提示符PS1,可很多人并不知道如何修改PS1,下面小编就给大家介绍下Ubuntu如何修改命令提示符PS1,一起来学习下吧. 命令多行输入不方便也不直观,要 ...

  6. shell脚本declare命令用法(声明变量的属性和类型)

    文章目录 declare命令 declare声明变量与var=xxx方式有何区别? declare声明变量应用场景 declare命令 declare命令用于声明变量的属性和类型.语法: declar ...

  7. linux 删除桌面环境变量,linux下export命令添加、删除环境变量(转载)

    export命令 功能说明:设置或显示环境变量. 语 法:export [-fnp][变量名称]=[变量设置值] 补充说明:在shell中执行程序时,shell会提供一组环境变量. export可新增 ...

  8. 操作系统实践 linux命令期末汇总

    操作系统实践 linux命令 Linux 1 简介 linux介绍 GPL linux发行版 linux系统标准化 登入与登出 常用快捷键 补充内容 Linux 2 Shell Shell 环境变量 ...

  9. Linux 命令(49)—— export 命令(builtin)

    1.命令简介 export 命令为 Shell 内建命令,用于设置或显示环境变量,环境变量包含变量与函数. 在 Shell 中执行程序时,Shell 会提供一组环境变量.export 可新增.删除或修 ...

最新文章

  1. 自己实现Java RPC框架一:RMI
  2. uni-app 页面数据无法渲染原因总结
  3. 数据流图中flow不显示文字_利用Flow来进行旋转流体仿真
  4. Windows消息机制详解
  5. md5与des算法有何不同_Python算法详解:为什么说算法是程序的灵魂?
  6. byte用json存 c++_玩转golang——JSON高性能自动字段名
  7. C#照片预览,好处是图片不在项目中也可以查看
  8. 解决vue插值表达式闪烁问题
  9. QuickFlow教程(14)—ExecuteCode using QuickFlowDesigner
  10. 怎样配置文件存储服务器,服务器搭建存储配置文件
  11. http_code解释
  12. Compiling for iOS 10.0, but module ‘xxx‘ has a minimum deployment target of iOS 12.0
  13. FPGA驱动VGA显示
  14. Amnesia失忆症攻略(本篇+later+crowd)
  15. python3爬虫抓取链家上海租房信息
  16. 多线程_12_优先级
  17. Java教务管理系统
  18. Word图表的中英题注及引用
  19. 关于weight_decay的设定
  20. 加利福尼亚理工学院鸟类数据库-2011(Caltech-UCSD Birds-200-2011)

热门文章

  1. SkyWalking 服务端、客户端配置
  2. MySQL BLOB 类型介绍
  3. 有关InitialContext()的困惑
  4. 西工大计算机学院赵晨职务,高武的个人主页-西北工业大学教师个人主页
  5. C语言期末作业(15个)-货物管理系统、歌曲信息管理系统、职工信息管理系统源码、学生打卡系统、小学生计算机辅助教学系统、门禁系统、银行管理系统等等
  6. html5页面结构标签,HTML5 article标签元素
  7. Prometheus+grafana监控服务器cpu 内存(docker部署)
  8. 高并发重复请求的去重处理
  9. PAT (Basic Level) Practice (中文)1058 选择题 (20 分)
  10. php require 报错,如何解决php require once报错问题