【shell】shell字符串操作(声明、长度、拼接、切片、转换、替换等操作)

请添加图片描述
👉博__主👈:米码收割机
👉技__能👈:C++/Python语言
👉公众号👈:测试开发自动化
👉专__注👈:专注主流机器人、人工智能等相关领域的开发、测试技术


shell字符串操作(声明、长度、拼接、切片、转换、替换等操作)



1. 单、双引号的区别

1.1 单引号

使用单引号括起来的字符串中的所有字符都会被原样输出,不会进行变量替换和转义字符的处理,例如:

str='Hello $USER, today is $(date)'
echo $str # 输出 Hello $USER, today is $(date)

1.2 双引号

使用双引号括起来的字符串中的变量会被解释成它们的值,并且转义字符会被处理,例如:

user="Tom"
str="Hello $user, today is $(date)"
echo $str # 输出 Hello Tom, today is Mon May 10 00:00:00 UTC 2023

另外,双引号中也可以使用反斜杠对特殊字符进行转义,例如:

str="Hello \"world\"!"
echo $str # 输出 Hello "world"!

2. 字符串声明

st1 = 'zhangsan'
st2 = 'lisi'

3. 字符串拼接

3.1 双引号拼接

# 方法一:
na='sunwukong1'
na1="hello,${na}!"
echo $na1             # 输出:hello,sunwukong1!

# 方法二:
na='sunwukong1'
na1="hello,"${na}"!"  
echo $na1             # 输出:hello,sunwukong1!

3.2 单引号拼接

na='sunwukong'
na1='hello,'$na'!'
echo $na1             # 输出:hello,sunwukong!

na='sunwukong'
na2='hello,${na}!'
echo $na2             # 输出:hello,${na}!  不转译

3.3 直接拼接

str1="Hello"
str2="World"
echo $str1$str2 # 输出 HelloWorld

4. 字符串长度

string="Hello World"
echo ${#string}       # 输出 11

5. 字符串切片

${string:position:length}来截取字符串,其中position是起始位置,length是截取的长度。

na='sunwukong'
echo ${na:1:3}     # 输出:unw

6. 字符串替换

string="Hello World"
echo ${string/Hello/Hi} # 输出 Hi World
echo ${string//o/0}     # 输出 Hell0 W0rld

7. 字符串查找

${string#substring}可以从字符串开头删除最短的匹配子字符串
${string##substring}可以从字符串开头删除最长的匹配子字符串。

string="Hello World"
echo ${string#Hello} # 输出 World
echo ${string##H} # 输出 ello World

8. 字符串大小写转换

${string^^}可以将字符串中所有字符转换为大写
${string,}可以将字符串中所有字符转换为小写

string="Hello World"
echo ${string^^} # 输出 HELLO WORLD
echo ${string,,} # 输出 hello world
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

米码收割机

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值