shell 字符串
字符串可用单引号,也可用双引号,也可不用引号
单引号
str='hello world'
限制
单引号里任何字符原样输出,单引号字符串中的变量无效
不能单独出现一个引号(转义也不行),可成对出现,作为字符串拼接使用
双引号
可有变量
可出现转义字符
获取字符串长度
str="abcd"
echo ${#str} #输出 4
提取字符串
str="abcd"
echo ${str:1:2} #输出 bc
shell 数组
支持一维数组(不支持多维数组),数组的大小没有限定
数组下标由 0 开始
定义数组的一般形式
# 数组名=(值1 值2...值n)
name=(1 2 3)
# 可单独定义数组的各个分量
name[0]=1
name[1]=2
name[2]=3
获取数组
# ${数组名[下标]}
value=${name[0]}
# 使用 @ 符号可获取数组中的所有元素
echo ${name[@]}
获取数组的长度
# 取得数组元素的个数
echo ${#name[@]}
# 或者
ehco ${#name[*]}
shell 注释
以 # 开头的行就是注释,会被解释器忽略
# 这是一个注释
多行注释
# 格式
:<<EOF
注释内容...
EOF
# EOF 也可使用其它符号
:<<!
注释内容...
!
多行注释
# 格式
:<<EOF
注释内容...
EOF
# EOF 也可使用其它符号
:<<!
注释内容...
!