Linux命令之声明变量declare
概述
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相关推荐
- Linux 命令(4)—— declare/typeset 命令(builtin)
1.功能简介 declare(别名 typeset)属 Shell 内建命令,用于申明 Shell 变量并设置变量属性,或查看已定义的 Shell 变量和函数.若不加上任何参数,只执行 declare ...
- linux命令行ps1变量_Linux下SHELL的PS1变量简介
Linux下SHELL的PS1变量简介 Linux环境变量中PS1是很重要的环境变量: PS(Prompt Sign): 是指命令提示符,例如在Fedora 12的终端下:[liutao@liutao ...
- linux命令行ps1变量_Linux命令行提示符美化(PS1PS2PS3PS4)
通过设置环境变量PS1.PS2.PS3以及PS4来自定义用户命令行的字符显示.如果要长期永久性修改提示符,可以将修改提示符的命令添加到$HOME/.profile或$HOME/.bash_profil ...
- linux命令行ps1变量_利用Shell中变量PS1定制Linux Shell命令主提示符
vim .bash_profile # .bash_profile # Get the aliases and functions if [ -f ~/.bashrc ]; then . ~/.bas ...
- linux命令行ps1变量_Ubuntu如何修改命令提示符PS1
Ubuntu在使用命令的时候,有时需要修改命令提示符PS1,可很多人并不知道如何修改PS1,下面小编就给大家介绍下Ubuntu如何修改命令提示符PS1,一起来学习下吧. 命令多行输入不方便也不直观,要 ...
- shell脚本declare命令用法(声明变量的属性和类型)
文章目录 declare命令 declare声明变量与var=xxx方式有何区别? declare声明变量应用场景 declare命令 declare命令用于声明变量的属性和类型.语法: declar ...
- linux 删除桌面环境变量,linux下export命令添加、删除环境变量(转载)
export命令 功能说明:设置或显示环境变量. 语 法:export [-fnp][变量名称]=[变量设置值] 补充说明:在shell中执行程序时,shell会提供一组环境变量. export可新增 ...
- 操作系统实践 linux命令期末汇总
操作系统实践 linux命令 Linux 1 简介 linux介绍 GPL linux发行版 linux系统标准化 登入与登出 常用快捷键 补充内容 Linux 2 Shell Shell 环境变量 ...
- Linux 命令(49)—— export 命令(builtin)
1.命令简介 export 命令为 Shell 内建命令,用于设置或显示环境变量,环境变量包含变量与函数. 在 Shell 中执行程序时,Shell 会提供一组环境变量.export 可新增.删除或修 ...
最新文章
- 自己实现Java RPC框架一:RMI
- uni-app 页面数据无法渲染原因总结
- 数据流图中flow不显示文字_利用Flow来进行旋转流体仿真
- Windows消息机制详解
- md5与des算法有何不同_Python算法详解:为什么说算法是程序的灵魂?
- byte用json存 c++_玩转golang——JSON高性能自动字段名
- C#照片预览,好处是图片不在项目中也可以查看
- 解决vue插值表达式闪烁问题
- QuickFlow教程(14)—ExecuteCode using QuickFlowDesigner
- 怎样配置文件存储服务器,服务器搭建存储配置文件
- http_code解释
- Compiling for iOS 10.0, but module ‘xxx‘ has a minimum deployment target of iOS 12.0
- FPGA驱动VGA显示
- Amnesia失忆症攻略(本篇+later+crowd)
- python3爬虫抓取链家上海租房信息
- 多线程_12_优先级
- Java教务管理系统
- Word图表的中英题注及引用
- 关于weight_decay的设定
- 加利福尼亚理工学院鸟类数据库-2011(Caltech-UCSD Birds-200-2011)
热门文章
- SkyWalking 服务端、客户端配置
- MySQL BLOB 类型介绍
- 有关InitialContext()的困惑
- 西工大计算机学院赵晨职务,高武的个人主页-西北工业大学教师个人主页
- C语言期末作业(15个)-货物管理系统、歌曲信息管理系统、职工信息管理系统源码、学生打卡系统、小学生计算机辅助教学系统、门禁系统、银行管理系统等等
- html5页面结构标签,HTML5 article标签元素
- Prometheus+grafana监控服务器cpu 内存(docker部署)
- 高并发重复请求的去重处理
- PAT (Basic Level) Practice (中文)1058 选择题 (20 分)
- php require 报错,如何解决php require once报错问题