LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 251|回复: 0

变量操作

[复制链接]
发表于 2024-1-17 17:50:55 | 显示全部楼层 |阅读模式


使用$符号是对变量的常规应用,在实际shell编程中,我们需要对变量进行一些特殊操作,这些操作我们只需要借助于特殊操作符号来进行,不用编写复杂的操作函数。
特殊操作
变量可以使用${}符号进行操作,该符号用于引用变量的值,并可以对变量的值进行一些操作,例如获取字符串的长度、截取字符串等。

${var}

这种方式与 $var 类似,将变量的值插入到命令行中。不同之处在于,使用 ${} 语法可以在变量名后面添加其他字符,例如:
bash复制代码name="Tom"
echo ${name}_Doe

输出 "Tom_Doe"。

${var-default}

在变量不存在或为空时,使用默认值替换变量。
bash复制代码echo ${occupation:-"unemployed"}

如果变量 occupation 不存在或为空,将输出 "unemployed"。

${var:=default}

这种方式与 ${var-default} 类似,不同之处在于,如果变量不存在或为空,将使用默认值替换变量,并将默认值赋值给变量。
bash复制代码echo ${age:=18}
echo $age

如果变量 age 不存在或为空,将输出 "18" 并将其赋值给变量 age。

${var:?message}

在变量不存在或为空时,输出一条错误信息。
bash复制代码echo ${city:?"variable city is not set"}

如果变量 city 不存在或为空,将输出 "variable city is not set"。

${var:offset:length}

从变量的指定位置开始截取指定长度的子字符串。
bash复制代码str="Hello, World!"
echo ${str:7:5}   # 输出:World

我们从字符串变量 str 的第 7 个字符开始,截取 5 个字符的子字符串。

${#var}

获取字符串的长度。
bash复制代码string="Hello, world!"
echo ${#string}      # 输出:13,获取字符串的长度

字符串"Hello, world!"长度为13。
运算操作
整数变量运算使用$(())符号进行,可以进行算术运算。需要注意的是,(( )) 只能进行整数运算,不能对小数(浮点数)或者字符串进行运算。我们可以使用$获取 (( )) 命令的结果,这和使用$获得变量值是类似的。
bash复制代码x=5
y=3
echo $(($x + $y))   # 输出:8


链接:https://juejin.cn/post/7218947399196164152

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表