版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_36748278/article/details/82776137
一:字符串的定义
shell脚本中字符串可以使用双引号、单引号、不使用引号来定义
比如:在不使用引号的情况下字符串中间不可以有空格
#!/bin/bash
doublestr="hello you";
singlestr="happy you";
str=sadyou
echo $doublestr
echo $singlestr
echo $str
执行脚本输出:
hello you
happy you
sadyou
二:单引号
在单引号中的任何字符都会原样输出,单引号字符串中的变量是无效的
#!/bin/bash
name="梨梨"
echo 'here is use single label,name is $name'
echo '在单引号中使用\"$name\"也是没有用的哦'
输出:
here is use single label,name is $name
在单引号中使用\"$name\"也是没有用的哦
三:双引号
双引号里面可以有变量,双引号里面可以出现转义字符
#!/bin/bash
name="梨梨"
echo "here is use single label,name is $name"
echo "在双引号中可以使用转义字符,\"$name\""
输出:
here is use double label,name is 梨梨
在双引号中可以使用转义字符,"梨梨"
四:字符串的拼接
#!/bin/bash
#使用双引号拼接
appendstr="hello, "$name" !"
echo $appendstr
appendstr="hello, $name !"
echo $appendstr
#使用单引号拼接
appendstr='hello, '$name' !'
echo $appendstr
appendstr='hello, $name !'
echo $appendstr
输出:
hello, 梨梨 !
hello, 梨梨 !
hello, 梨梨 !
hello, $name !
五:字符串的拼接
#!/bin/bash
str="abcdefg"
#获取字符串的长度
echo ${#str}
#截取子字符串
echo ${str:1:4} #输出bcde
#查找子字符串 查找字符b 或 c 的位置,那个字母先出现就计算哪个
echo `expr index "$str" bc` #输出 2
输出:
7
bcde
2