背景
前面已经优化过了发布脚本,但是用了一段时候发现,还是会有因为人为的原因,发生输入错误,导致update失败,所以今天的目的,就是要实现无脑更新,不要输入项目号,而是世界执行脚本,让程序去判断。
代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
|
#!/bin/bash path1= /path/to/forder
path2= /path/to/forder1
PROJECT1 () { a=` find $path1 - type f | wc -l`
echo $a
if [[ $a - ge 1 ]];
then
return 1
else
echo "PROJECT1 files no exits"
fi
} PROJECT1 num1=$? echo $num1
PROJECT2 () { a=` find $path2 - type f | wc -l`
echo $a
if [[ $a - ge 1 ]]; then
return 2
else
echo "PROJECT2 files no exits"
fi } PROJECT2 num2=$? echo $num2
PROJECT3 () { a=` find $path2 - type f | wc -l` 1> /dev/null 2>&1
if [[ $a - ge 1 ]]; then
return 3
else
echo "PROJECT3 files no exits"
fi } PROJECT3 num3=$? array=($num1 $num2 $num3) for what in ${array[@]}
do case $what in
1) echo "you doing rsync project1"
;;
2) echo "you doing rsync project2"
;;
3) echo "you doing rsync project3"
;;
*) echo "you do not select a number"
;;
esac done |
剩下的就所需要对文件的对坐,编写到相应的选项里就可以了
重点:自定义函数,设置返回值,然后放到数组里,用for循环嵌套case语句进行执行
本文转自wks9751CTO博客,原文链接:http://blog.51cto.com/wks97/1609072 ,如需转载请自行联系原作者