-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathclean.sh
executable file
·98 lines (81 loc) · 1.71 KB
/
clean.sh
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
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
#!/bin/bash
#
#set -x
source scripts/functions/common.sh
clear_distro()
{
NANOPI4_DISTRO=$(pwd)/distro
[ -d $NANOPI4_DISTRO ] && rm -vrf $NANOPI4_DISTRO
}
clear_devkit()
{
NANOPI4_DEVKIT=/opt/devkit
[ -d $NANOPI4_DEVKIT ] && sudo rm -vrf $NANOPI4_DEVKIT
}
clear_docker()
{
# stop containers
info_msg "stop nanopim4 containers"
var=$(docker ps -a | grep "nanopim4" | awk '{print $1 }')
[ -n "$var" ] && docker stop $var
info_msg "stop exited containers"
var=$(docker ps -a | grep "Exited" | awk '{print $1 }')
[ -n "$var" ] && docker stop $var
info_msg "remove nanopim4 containers"
var=$(docker ps -a | grep "nanopim4" | awk '{print $1 }')
[ -n "$var" ] && docker rm $var
info_msg "remove exited containers"
var=$(docker ps -a | grep "Exited" | awk '{print $1 }')
[ -n "$var" ] && docker rm $var
# remove images
info_msg "remove none images"
var=$(docker images | grep "none" | awk '{print $3}')
[ -n "$var" ] && docker rmi --force $var
}
clear_packages()
{
# clear packages
info_msg "clear packages"
rm -vf $(pwd)/packages/*
}
help()
{
echo
info_msg "Usage:"
info_msg " clean.sh [target]"
echo
info_msg "Example:"
info_msg " clean.sh distro"
info_msg " clean.sh devkit"
info_msg " clean.sh docker"
info_msg " clean.sh packages"
info_msg " clean.sh all"
echo
}
######################################################################################
TARGET="$1"
case "$TARGET" in
distro)
clear_distro
;;
devkit)
clear_devkit
;;
docker)
clear_docker
;;
packages)
clear_packages
;;
all)
clear_distro
clear_devkit
clear_docker
clear_packages
;;
*)
error_msg "Unsupported target: $TARGET"
help
exit -1
;;
esac