字符串

单引号定义

单引号主要用在原样输出中。

  1. #! /bin/bash
  2. echo 'this is a string'

限制:

  • 单引号里的任何字符都会原样输出,单引号字符串中的变量是无效的;
  • 单引号字串中不能出现单独一个的单引号(对单引号使用转义符后也不行),但可成对出现,作为字符串拼接使用。

双引号定义

#! /bin/bash
S='world'
str="Hello \"$S\"! \n"
echo -e ${str}

输出结果

Hello "world"!

拼接

#! /bin/bash
world="World"
# 使用双引号拼接
s="hello, "$world" !"
str="hello, ${world} !"
echo $s  $str
# 使用单引号拼接
s='hello, '$world' !'
str='hello, ${world} !'
echo $s  $str

输出结果

hello, World ! hello, World !
hello, World ! hello, ${world} !

长度

通过${#} 获取长度

str="12345"
echo ${#str}

截取

str="12345"
echo ${str:1:3}

比较

= 等于则为真
!= 不相等则为真
-z 字符串 字符串的长度为零则为true
-n 字符串 字符串的长度不为零则为true

数组

在 Shell 中,用括号来表示数组,数组元素用”空格”符号分割开。

数组名=(值1 值2 ... 值n)

eg

array_name=(value0 value1 value2 value3)

读取

取数组元素值的一般格式是:

${数组名[下标]}

使用 @ 符号可以获取数组中的所有元素,例如:

echo ${array_name[@]}

长度

获取数组长度的方法与获取字符串长度的方法相同,例如