【笔记】Shell的字符串

前言

Shell的字符串

字符串截取

指定开始下标和截取长度

<start>:截取开始位置下标。如果为负数,则从后向前寻址
<length>:截取的长度。如果<start>为负数,则向前寻找字符串

1
2
3
string="file.tar.gz"

${string:<start>:<length>}

指定开始下标

  • 从开始位置截取到末尾

<start>:截取开始位置下标。如果为负数,则从后向前寻址

1
2
3
string="file.tar.gz"

${string:<start>}

截取某字符串第一次出现开始

  • 截取某字符串第一次出现开始,向右直到末尾的字符串
1
2
3
4
string="file.tar.gz"

${string#*.}
# tar.gz
  • 截取某字符串第一次出现开始,向左直到开始的字符串
1
2
3
4
string="file.tar.gz"

${string%*.}
# file.tar.gz

截取某字符串最后一次出现开始

  • 截取某字符串最后一次出现开始,向右直到末尾的字符串
1
2
3
4
string="file.tar.gz"

${string##*.}
# gz
  • 截取某字符串最后一次出现开始,向左直到开始的字符串
1
2
3
4
string="file.tar.gz"

${string%%*.}
# file.tar.gz

字符串合并

字符串合并

1
2
name1=xxx
name2=txt

将所有字符串放在一个双引号中

1
2
3
str="$name1$name2"
str="$name1.$name2"
str="${name1}.${name2}"

将所有字符串直接拼接在一起

1
2
3
str=$name1$name2
str=$name1.$name2
str=$name1"."$name2

完成

参考文献

CSDN——bandaoyu
C语言中文网