Shell注释
sh里没有多行注释,只能每一行加一个#号。
如果遇到大段的代码需要注释,可以把这一段用花括号扩起来,定义成一个函数,没地方调用这个函数,这块代码就不会执行。
Shell字符串
字符串可以用单引号,也可以用双引号,还可以不用。
单引号:
单引号里的任何字符都会原样输出,变量是无效的
单引号字符串中不能出现单引号
双引号:
可以有变量
可以出现转义字符
获取字符串长度
str="abcd"
echo ${#str} ==4
提取子字符串
str="Tanswer is my name"
echo ${str:2:4} 输出nswe
格式: 原字符串:从第几个字符之后开始提取:子字符串的长度
查找子字符出现的位置
str="Alibaba is a good company"
echo `expr index "$str" is` 答案是 3
解释:在str中查找 'i' 或者 's' 第一次出现的位置。从1开始。
Shell 数组
bash 支持一维数组(不支持多维数组),并且没有限定数组的大小。用法类似C语言。
一般形式为: array=(value0 value1 value2 value3)
元素用空格隔开
读取数组:echo ${array[下标]}
使用 * 或 @ 可读取数组中的所有元素。
echo ${array[*]}
获取数组的长度
echo ${#array[*]} 或 echo ${#array[@]}
取得数组中某个元素的长度
echo ${#array[n]}