Shell--字符串


字符串是shell编程中最常用最有用的数据类型(除了数字和字符串,也没啥其它类型好用了),字符串可以用单引号,也可以用双引号,也可以不用引号。

1、单引号

skill='java'echo 'I am goot at $skill'
  • 输出结果为:
I am goot at $skill
  • 单引号字符串的限制:
    • 单引号里的任何字符都会原样输出,单引号字符串中的变量是无效的
    • 单引号字串中不能出现单独一个的单引号(对单引号使用转义符后也不行),但可成对出现,作为字符串拼接使用。

2、双引号

skill='java'echo "I am goot at $skill"
  • 输出结果为:
I am goot at java
  • 双引号的优点:
    • 双引号里可以有变量
    • 双引号里可以出现转义字符

3、获取字符串长度

skill='java'echo ${skill}    # 输出结果: javaecho ${#skill}   # 输出结果: 4

4、截取子字符串(从0计数,-1代表最后一个)

再详细的参考这篇

${变量:startIndex}

${变量:startIndex:length}
  • 以下实例从字符串第 2 个字符开始截取 2个字符:
str="I am goot at $skill"echo ${str:2}     # 输出结果为: am goot at javaecho ${str:2:2}    # 输出结果为: am
  • -1代表最后一位,因此,-2就是截取最后两位,但是我们可以看到:-2之间必须加空格
  • 为了不那么麻烦眼神不好,我们可以使用0-1来代替-1
skill=java
str="I am goot at $skill"echo ${str:2} ## am goot at java​
echo ${str: -1} ## �
echo ${str: -2} ## ��
echo ${skill:-2} ## java
echo ${skill: -2} ## va

5、查找子字符串(结果为从1计数)

  • 查找字符 i 或 o 的位置(哪个字母先出现就计算哪个):
str="I am goot at  $skill"
echo `expr index "$str" am`    # 输出是: 3

tips: 以上脚本中 是反引号(Esc下面的),而不是单引号 ',不要看错了哦。

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值