File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1+ #! /usr/bin/env bash
2+
3+ # 创建数组
4+ nums=([2]=2 [0]=0 [1]=1)
5+ colors=(red yellow " dark blue" )
6+
7+ # 访问数组的单个元素
8+ echo ${nums[1]}
9+ # Output: 1
10+
11+ # 访问数组的所有元素
12+ echo ${colors[*]}
13+ # Output: red yellow dark blue
14+
15+ echo ${colors[@]}
16+ # Output: red yellow dark blue
17+
18+ printf " + %s\n" ${colors[*]}
19+ # Output:
20+ # + red
21+ # + yellow
22+ # + dark
23+ # + blue
24+
25+ printf " + %s\n" " ${colors[*]} "
26+ # Output:
27+ # + red yellow dark blue
28+
29+ printf " + %s\n" " ${colors[@]} "
30+ # Output:
31+ # + red
32+ # + yellow
33+ # + dark blue
34+
35+ # 访问数组的部分元素
36+ echo ${nums[@]: 0: 2}
37+ # Output:
38+ # 0 1
39+
40+ # 访问数组长度
41+ echo ${# nums[*]}
42+ # Output:
43+ # 3
44+
45+ # 向数组中添加元素
46+ colors=(white " ${colors[@]} " green black)
47+ echo ${colors[@]}
48+ # Output:
49+ # white red yellow dark blue green black
50+
51+ # 从数组中删除元素
52+ unset nums[0]
53+ echo ${nums[@]}
54+ # Output:
55+ # 1 2
Load Diff This file was deleted.
Original file line number Diff line number Diff line change 1+ #! /usr/bin/env bash
2+
3+ # --------------------------------------------
4+ # shell 注释示例
5+ # author:zp
6+ # --------------------------------------------
7+
8+ # echo '这是单行注释'
9+
10+ # ######### 这是分割线 ##########
11+
12+ :<< EOF
13+ echo '这是多行注释'
14+ echo '这是多行注释'
15+ echo '这是多行注释'
16+ EOF
17+
18+ # Execute: ./comment-demo.sh
19+ # Output: null
Original file line number Diff line number Diff line change 1+ #! /usr/bin/env bash
2+
3+ x=10
4+ if [[ -n $1 ]]; then
5+ x=$1
6+ fi
7+
8+ y=20
9+ if [[ -n $2 ]]; then
10+ y=$2
11+ fi
12+
13+ echo " x=${x} , y=${y} "
14+
15+ val=` expr ${x} + ${y} `
16+ echo " ${x} + ${y} = $val "
17+
18+ val=` expr ${x} - ${y} `
19+ echo " ${x} - ${y} = $val "
20+
21+ val=` expr ${x} \* ${y} `
22+ echo " ${x} * ${y} = $val "
23+
24+ val=` expr ${y} / ${x} `
25+ echo " ${y} / ${x} = $val "
26+
27+ val=` expr ${y} % ${x} `
28+ echo " ${y} % ${x} = $val "
29+
30+ if [[ ${x} == ${y} ]]; then
31+ echo " ${x} = ${y} "
32+ fi
33+ if [[ ${x} != ${y} ]]; then
34+ echo " ${x} != ${y} "
35+ fi
36+
37+ # Execute: ./operator-demo.sh
38+ # Output:
39+ # x=10, y=20
40+ # 10 + 20 = 30
41+ # 10 - 20 = -10
42+ # 10 * 20 = 200
43+ # 20 / 10 = 2
44+ # 20 % 10 = 0
45+ # 10 != 20
46+
47+ # Execute: ./operator-demo.sh 10 30
48+ # Output:
49+ # x=10, y=30
50+ # 10 + 30 = 40
51+ # 10 - 30 = -20
52+ # 10 * 30 = 300
53+ # 30 / 10 = 3
54+ # 30 % 10 = 0
55+ # 10 不等于 30
Original file line number Diff line number Diff line change 1+ #! /usr/bin/env bash
2+
3+ x=10
4+ if [[ -n $1 ]]; then
5+ x=$1
6+ fi
7+
8+ y=20
9+ if [[ -n $2 ]]; then
10+ y=$2
11+ fi
12+
13+ echo " x=${x} , y=${y} "
14+
15+ if [[ ${x} -eq ${y} ]]; then
16+ echo " ${x} -eq ${y} : x 等于 y"
17+ else
18+ echo " ${x} -eq ${y} : x 不等于 y"
19+ fi
20+
21+ if [[ ${x} -ne ${y} ]]; then
22+ echo " ${x} -ne ${y} : x 不等于 y"
23+ else
24+ echo " ${x} -ne ${y} : x 等于 y"
25+ fi
26+
27+ if [[ ${x} -gt ${y} ]]; then
28+ echo " ${x} -gt ${y} : x 大于 y"
29+ else
30+ echo " ${x} -gt ${y} : x 不大于 y"
31+ fi
32+
33+ if [[ ${x} -lt ${y} ]]; then
34+ echo " ${x} -lt ${y} : x 小于 y"
35+ else
36+ echo " ${x} -lt ${y} : x 不小于 y"
37+ fi
38+
39+ if [[ ${x} -ge ${y} ]]; then
40+ echo " ${x} -ge ${y} : x 大于或等于 y"
41+ else
42+ echo " ${x} -ge ${y} : x 小于 y"
43+ fi
44+
45+ if [[ ${x} -le ${y} ]]; then
46+ echo " ${x} -le ${y} : x 小于或等于 y"
47+ else
48+ echo " ${x} -le ${y} : x 大于 y"
49+ fi
50+
51+ # Execute: ./operator-demo2.sh
52+ # Output:
53+ # x=10, y=20
54+ # 10 -eq 20: x 不等于 y
55+ # 10 -ne 20: x 不等于 y
56+ # 10 -gt 20: x 不大于 y
57+ # 10 -lt 20: x 小于 y
58+ # 10 -ge 20: x 小于 y
59+ # 10 -le 20: x 小于或等于 y
Original file line number Diff line number Diff line change 1+ #! /usr/bin/env bash
2+
3+ x=10
4+ if [[ -n $1 ]]; then
5+ x=$1
6+ fi
7+
8+ y=20
9+ if [[ -n $2 ]]; then
10+ y=$2
11+ fi
12+
13+ echo " x=${x} , y=${y} "
14+
15+ if [[ ${x} != ${y} ]]; then
16+ echo " ${x} != ${y} : x 不等于 y"
17+ else
18+ echo " ${x} != ${y} : x 等于 y"
19+ fi
20+
21+ if [[ ${x} -lt 100 && ${y} -gt 15 ]]; then
22+ echo " ${x} 小于 100 且 ${y} 大于 15 : 返回 true"
23+ else
24+ echo " ${x} 小于 100 且 ${y} 大于 15 : 返回 false"
25+ fi
26+
27+ if [[ ${x} -lt 100 || ${y} -gt 100 ]]; then
28+ echo " ${x} 小于 100 或 ${y} 大于 100 : 返回 true"
29+ else
30+ echo " ${x} 小于 100 或 ${y} 大于 100 : 返回 false"
31+ fi
32+
33+ if [[ ${x} -lt 5 || ${y} -gt 100 ]]; then
34+ echo " ${x} 小于 5 或 ${y} 大于 100 : 返回 true"
35+ else
36+ echo " ${x} 小于 5 或 ${y} 大于 100 : 返回 false"
37+ fi
38+
39+ # Execute: ./operator-demo3.sh
40+ # Output:
41+ # x=10, y=20
42+ # 10 != 20 : x 不等于 y
43+ # 10 小于 100 且 20 大于 15 : 返回 true
44+ # 10 小于 100 或 20 大于 100 : 返回 true
45+ # 10 小于 5 或 20 大于 100 : 返回 false
Original file line number Diff line number Diff line change 1+ #! /usr/bin/env bash
2+
3+ x=10
4+ if [[ -n $1 ]]; then
5+ x=$1
6+ fi
7+
8+ y=20
9+ if [[ -n $2 ]]; then
10+ y=$2
11+ fi
12+
13+ echo " x=${x} , y=${y} "
14+
15+ if [[ ${x} -lt 100 && ${y} -gt 100 ]]
16+ then
17+ echo " ${x} -lt 100 && ${y} -gt 100 返回 true"
18+ else
19+ echo " ${x} -lt 100 && ${y} -gt 100 返回 false"
20+ fi
21+
22+ if [[ ${x} -lt 100 || ${y} -gt 100 ]]
23+ then
24+ echo " ${x} -lt 100 || ${y} -gt 100 返回 true"
25+ else
26+ echo " ${x} -lt 100 || ${y} -gt 100 返回 false"
27+ fi
28+
29+ # Execute: ./operator-demo4.sh
30+ # Output:
31+ # x=10, y=20
32+ # 10 -lt 100 && 20 -gt 100 返回 false
33+ # 10 -lt 100 || 20 -gt 100 返回 true
Original file line number Diff line number Diff line change 1+ #! /usr/bin/env bash
2+
3+ x=" abc"
4+ if [[ -n $1 ]]; then
5+ x=$1
6+ fi
7+
8+ y=" xyz"
9+ if [[ -n $2 ]]; then
10+ y=$2
11+ fi
12+
13+ echo " x=${x} , y=${y} "
14+
15+ if [[ ${x} = ${y} ]]; then
16+ echo " ${x} = ${y} : x 等于 y"
17+ else
18+ echo " ${x} = ${y} : x 不等于 y"
19+ fi
20+
21+ if [[ ${x} != ${y} ]]; then
22+ echo " ${x} != ${y} : x 不等于 y"
23+ else
24+ echo " ${x} != ${y} : x 等于 y"
25+ fi
26+
27+ if [[ -z ${x} ]]; then
28+ echo " -z ${x} : 字符串长度为 0"
29+ else
30+ echo " -z ${x} : 字符串长度不为 0"
31+ fi
32+
33+ if [[ -n " ${x} " ]]; then
34+ echo " -n ${x} : 字符串长度不为 0"
35+ else
36+ echo " -n ${x} : 字符串长度为 0"
37+ fi
38+
39+ if [[ ${x} ]]; then
40+ echo " ${x} : 字符串不为空"
41+ else
42+ echo " ${x} : 字符串为空"
43+ fi
44+
45+ # Execute: ./operator-demo5.sh
46+ # Output:
47+ # x=abc, y=xyz
48+ # abc = xyz: x 不等于 y
49+ # abc != xyz : x 不等于 y
50+ # -z abc : 字符串长度不为 0
51+ # -n abc : 字符串长度不为 0
52+ # abc : 字符串不为空
You can’t perform that action at this time.
0 commit comments