📙
📙
📙
📙
Shell
搜索文档…
字符串
字符串是shell编程中最常用最有用的数据类型,字符串可以用单引号,也可以用双引号,也可以不用引号。

单引号

name='This is a name'
单引号字符串的限制:
  • 单引号里的任何字符都会原样输出,单引号字符串中的变量是无效的
  • 单引号字串中不能出现单独一个的单引号(对单引号使用转义符后也不行),但可成对出现,作为字符串拼接使用。
例如:
❌ name='This is 'a name'
❌ name='This is \'a name'
❌ name='This is 'a' name'
对 name='This is ''a name'

双引号

name="name"
name_2="This is a name"
name_2="This is a ${name}"
name_2="This is a \"${name}\""
双引号的优点:
  • 双引号里可以有变量
  • 双引号里可以出现转义字符

无引号

name="name"
name_2=Thisisaname
name_2=Thisisa$name
name_2=Thisisa${name}Result
无引号字符串的限制:
  • 字符串中不能出现空格

字符串拼接

字符串可以在各个引号中共同拼接,但是不能包含空格
name="name"
name_2='This '"is "'a '${name}
# 此处+会被认为是字符拼接到字符串中
name_2='This '+${name}

字符串长度

name="name"
#输出 4
echo ${#name}

字符串截取

name="This is a name"
#${<变量名>:<起始索引,首位索引为0>:<截取字符长度>}
echo ${name:0:4}
# 结果为 This
echo ${name:0:-4}
# 结果为 name
截取长度为正数时,超出字符长度为全部截取,截取长度为负数时,超出字符长度会异常
最近更新 1yr ago