fix: small optimizations
This commit is contained in:
parent
9e53531da9
commit
c786785b9c
43
bin/dkprune
43
bin/dkprune
@ -1,8 +1,5 @@
|
||||
#!/bin/bash
|
||||
|
||||
#TODO: group flags into one command
|
||||
# like -I == $i -a
|
||||
|
||||
function usage() {
|
||||
cat << EOF
|
||||
Usage: $0 [-hcCviIna]
|
||||
@ -41,9 +38,9 @@ c=1
|
||||
C=2
|
||||
v=4
|
||||
i=8
|
||||
I=16
|
||||
# I=16
|
||||
n=32
|
||||
a="$((c + C + v + I + n))"
|
||||
# a="$((c + C + v + I + n))"
|
||||
|
||||
CLEAN=0
|
||||
while getopts hcCviIna o; do
|
||||
@ -64,13 +61,15 @@ while getopts hcCviIna o; do
|
||||
CLEAN="$(add_opt "$CLEAN" "$i")"
|
||||
;;
|
||||
I)
|
||||
CLEAN="$(add_opt "$CLEAN" "$I")"
|
||||
CLEAN="$(add_opt "$CLEAN" "$i")"
|
||||
IMG_OPT="-a"
|
||||
;;
|
||||
n)
|
||||
CLEAN="$(add_opt "$CLEAN" "$n")"
|
||||
;;
|
||||
a)
|
||||
CLEAN="$(add_opt "$CLEAN" "$c" "$C" "$v" "$I" "$n")"
|
||||
CLEAN="$(add_opt "$CLEAN" "$c" "$C" "$v" "$i" "$n")"
|
||||
IMG_OPT="-a"
|
||||
;;
|
||||
*)
|
||||
exit 1
|
||||
@ -83,42 +82,32 @@ if [ "$CLEAN" == 0 ]; then
|
||||
fi
|
||||
|
||||
VALUES=(
|
||||
"$a"
|
||||
"$((c + i + v + n))"
|
||||
"$((c + i + n))"
|
||||
"$((c + I + n))"
|
||||
"$((c + v + n))"
|
||||
"$c"
|
||||
"$v"
|
||||
"$i"
|
||||
"$I"
|
||||
"$n"
|
||||
)
|
||||
|
||||
SYS="docker system"
|
||||
CON="docker container"
|
||||
VOL="docker volume"
|
||||
IMG="docker image"
|
||||
NET="docker network"
|
||||
CON="container"
|
||||
PRUNE="prune -f"
|
||||
COMMANDS=(
|
||||
"$SYS $PRUNE -a --volumes"
|
||||
"$SYS $PRUNE"
|
||||
"$SYS $PRUNE -a"
|
||||
"$SYS $PRUNE --volumes"
|
||||
"$CON $PRUNE"
|
||||
"$VOL $PRUNE"
|
||||
"$IMG $PRUNE"
|
||||
"$IMG $PRUNE -a"
|
||||
"$NET $PRUNE"
|
||||
"docker system $PRUNE $IMG_OPT --volumes"
|
||||
"docker system $PRUNE $IMG_OPT"
|
||||
"docker $CON $PRUNE"
|
||||
"docker volume $PRUNE"
|
||||
"docker image $PRUNE $IMG_OPT"
|
||||
"docker network $PRUNE"
|
||||
)
|
||||
|
||||
if [ "$((CLEAN & "$C"))" == "$C" ]; then
|
||||
$CON ls -aq | xargs $CON stop
|
||||
docker "$CON" ls -aq | xargs docker "$CON" stop 2> /dev/null
|
||||
fi
|
||||
|
||||
|
||||
for idx in "${!VALUES[@]}"; do
|
||||
mask="${VALUES[$idx]}"
|
||||
|
||||
if [ "$((CLEAN & mask))" == "$mask" ]; then
|
||||
bash -c "${COMMANDS[$idx]}"
|
||||
CLEAN="$((CLEAN - mask))"
|
||||
|
Loading…
Reference in New Issue
Block a user