fix: small optimizations

This commit is contained in:
AngeD 2022-10-24 16:14:25 +02:00
parent 9e53531da9
commit c786785b9c

View File

@ -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))"