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 ${数组名[@]}

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值