单引号
str='this is a string'
单引号字符串的限制:
- 单引号里的任何字符都会原样输出,单引号字符串中的变量是无效的;
- 单引号字串中不能出现单引号(对单引号使用转义符后也不行)。
双引号
your_name='sevenfal' str="Hello, I know your are \"$your_name\"! \n"
双引号的优点:
- 双引号里可以有变量
- 双引号里可以出现转义字符
拼接字符串
your_name="sevenfal" greeting="hello, "$your_name" !" greeting_1="hello, ${your_name} !" echo $greeting $greeting_1
获取字符串长度
string="abcd" echo ${#string} #输出 4
提取子字符串
str="//www.sevenfal.com/2016/01/30/187.html" echo ${#str} #输出 43 echo ${str:0:5} #0表示左边第一个字符开始,5表示字符的总个数,结果"http:" echo ${str:1:4} #输出除左边第一个,向右取4个,结果"ttp:" echo ${str:6} #输出除左边的6个,从第7个开始,结果"/www.sevenfal.com/2016/01/30/187.html" echo ${str:0-12:10} #0-15:10为从右边开始的第2个,向左边取10个,结果"/30/187.ht" echo ${str:0-21:10} #0-21:10为从右边开始第11个(没错,要删掉一个1,至于上百就没有试了),向左边取10个,结果"m/2016/01/" echo ${str:0-5} #0-5为从右边开始取五个,结果".html" echo ${str#*//} #删除从左边开始到第一个"//"及其左边所有字符,结果"www.sevenfal.com/2016/01/30/187.html" echo ${str##*/} #删除最后出现的"/"及其左边所有字符,结果"187.html" echo ${str%/*} #删除从右边开始到第一个"/"及其右边所有字符,结果"//www.sevenfal.com/2016/01/30" echo ${str%%/*} #删除从右边开始到最后一个"/"及其右边所有字符,结果"http:"
© 著作权归作者所有
下一篇: shell(2)-运算符
文章评论(0)