Shell 第四课: 对字符串的操作

2015年08月24日 01:47 by:唠吧小站

shell中双引号和单引号定义字符串对变量的影响

和php一样,单引号中的$xx会被直接打印到屏幕上而在双引号中$会被当作变量来执行

注意:变量赋值等号的前后不能加空格

例如:

  1. #!/bin/bash
  2. a=10
  3. echo '$a'
  4. echo "$a"

运行结果如下:

  1. [root@li411-50 sh]# ./test.agou
  2. $a
  3. 10

字符串拼接

可以在双引号字符串中直接写$xx,也可以按下面的例子写:

  1. #!/bin/bash
  2. myname='laoxiu'
  3. hello='Hello '$myname
  4. myweb='lao8.org'
  5. echo 'pint: '$hello'my blog is '$myweb'!'
运行的结果:
  1. [root@li411-50 sh]# ./test.agou
  2. pint: Hello laoxiu my blog is lao8.org!

shell中获取字符串长度的方法

在变量的前面加上#即可获取字符串的长度了, 实例代码:

  1. #!/bin/bash
  2. myname='laoxiu'
  3. echo ${#myname}

运行结果如下:

  1. [root@li411-50 sh]# chmod +x test.agou
  2. [root@li411-50 sh]# ./test.agou
  3. 6

shell 截取字符串

  1. #!/bin/bash
  2. myname='laoxiu'
  3. echo ${myname:1:4}
执行结果:
  1. [root@li411-50 sh]# ./test.agou
  2. aoxi

shell 在字符串中搜索并返回位置

  1. #!/bin/bash
  2. myinfo='my website url is www.lao8.org'
  3. echo `expr index "$myinfo" url`

执行结果如下:

  1. [root@li411-50 sh]# ./test.agou
  2. 12