shell 操作字符串 变量 数组
1 #!/bin/bash
2 name="jack"
3 #使用双引号拼接
4 #greeting="hello,"$name"!"
5 #greeting_1="hello,${name} !"#输出实参
6 #echo $greeting $greeting_1
7 #使用单引号拼接
8 #greeting_2='hello,'$name'!'
9 #greeting_3='hello,${name}'#原样输出
10 #echo $greeting_2 $greeting_3
11
12 #获取字符串长度
13 #string="abcd"
14 #echo ${#string} #输出4
15
16 #提取字符串
17 #string="runoob is a great site"
18 #echo ${string:1:4} #输出unoo 下标从0开始
19 #查找字符串
20 #string="runoob is a great site"
21 #echo `expr index "$string" io` #输出4 下标从1开始
22 #定义数组 下标从0开始,元素之间使用“空格”分隔
23 #定义数组一般形式
24 array_name=("立白" "太渍" "奇强" "滴露")
25
26 # 还可以这样定义数组
27 array_name1=(
28 "赵子龙"
29 诸葛亮
30 "曹操")
31
32 #单独定义数组的各个元素
33 array_name[1]="温太医"
34 #读取数组
35 #输出整个数组
36 #echo ${array_name[@]}
37 #或
38 #echo ${array_name1[*]}
39
40 #echo ${array_name1} #不加[@]或[*]默认返回第1个值 赵子龙
41
42 #echo ${array_name[9]} #下标越界会啥也不输出 echo回显一个空行
43 #echo ${array_name1[2]} #曹操
44
45 #获取数组的长度
46 # 获取整个数组元素的个数
47 #length=${#array_name[*]}
48 #length1=${#array_name[@]}
49 #echo ${length} ${length1} #输出4 4
50 #取得数组单个元素的长度
51 #length=${#array_name1[0]} #"赵子龙" 3
52 #length1=${#array_name1[1]} #诸葛亮 3
53 #echo ${length} ${length1} #输出3 3
54 #shell多行注释
55 #可以把一段要注释的代码用一对花括号括起来,定义成一个函数,没有地方调用这个函数,这块代码就不会执行,达到了和注释一样的效果.我试了怎么没有效果呢??? 还是可以输出的
56 {
57 echo "123"
58 echo "abc"
59 echo "洛神"
60 }
61 #还可以使用:<<这种格式 如:
62 :<<EOF
63 echo "123"
64 echo "abc"
65 echo "洛神"
66 EOF
67
68 #EOF也可以使用其它符号
69 :<<!
70 echo "123"
71 echo "abc"
72 echo "洛神"
73 !