shell字符串和数组

时间:2021-04-08 21:38:40

字符串 : 

1.单引号:

  str = 'value'

单引号字符串的限制:

单引号里的任何字符都会原样输出,单引号字符串中的变量是无效的;

单引号字串中不能出现单引号(对单引号使用转义符后也不行);

2.双引号:

  str = "value is \"${name}\" \n"

str = "value is , ${name}\n"

双引号的优点:

双引号里可以有变量

双引号里可以出现转义字符

3.获取字符串长度 :

  1. string="abcd"
  2. echo ${#string} #输出 4

4.提取子字符串:

  1. string="alibaba is a great company"
  2. echo ${string:1:4} #输出liba

5.查找子字符串:

  1. string="alibaba is a great company"
  2. echo `expr index "$string" is`

数组 :

1.定义 : 

 array_name=(value0 value1 value2 value3)

2.取值 : 

 ${array_name[*]}

 ${array_name[@]}

 取到所有元素

3.获取数组长度:

  1. # 取得数组元素的个数
  2. length=${#array_name[@]}
  3. # 或者
  4. length=${#array_name[*]}
  5. # 取得数组单个元素的长度
  6. lengthn=${#array_name[n]}