shell编程-05-字符串

文章详细介绍了LinuxShell脚本中处理字符串的方法,包括不加引号的字符串解析规则,单引号与双引号的区别,如何拼接字符串,以及从指定位置和字符进行截取的操作。同时展示了相关示例,如变量解析、字符串长度获取等。
摘要由CSDN通过智能技术生成

字符串

  1. 没有引号
    不能有空格,否则空格后边的字符串会作为其他变量或者命令解析
    和双引号一样
  2. 单引号
    任何字符都会原样输出,在其中使用变量是无效的
    不能使用单引号,即使对单引号进行转义也不行
  3. 双引号
    变量会被解析(得到该变量的值)
    可出现转义的双引号
    ${#variable} : 获取字符串长度
a=123
b='hello ${a}'
c="hello ${a}"
d=$a
echo $b,$c,$d
echo ${#b}
hello ${a},hello 123,123
10

字符拼接

a="hello"
b="world"
c="$a $b"
echo $c
hello world

字符串从指定位置截取

不管从哪边开始计数,截取方向都是从左到右。

  • 从左往右计数,起始数是0
    ${variable:start[:length]}
  • 从右往左计数,起始数是1
    ${variable:0-start[:length]}*
a=1234567
echo ${a:2}
echo ${a:2:2}
echo ${a:0-5}
echo ${a:0-5:2}
34567
34
34567
34

字符串从指定字符截取

  • 截取右边的字符,从左往右查找
    • 从第一次出现截取
      ${variable#*char}
    • 从最后一次出现截取
      ${variable#*char}
  • 截取左边的字符, 从右往左查找
    • 从第一次出现截取
      ${variable%char*}
    • 从最后一次出现截取
      ${variable%%char*}
a=1234321
echo ${a#*2}
echo ${a##*2}
echo ${a%2*}
echo ${a%%2*}
34321
1
12343
1
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值