summaryrefslogtreecommitdiffstats
path: root/lib/container/remove
diff options
context:
space:
mode:
Diffstat (limited to 'lib/container/remove')
-rwxr-xr-xlib/container/remove21
1 files changed, 21 insertions, 0 deletions
diff --git a/lib/container/remove b/lib/container/remove
index 427bf4a..275c867 100755
--- a/lib/container/remove
+++ b/lib/container/remove
@@ -28,6 +28,8 @@ MACHINES="/var/lib/machines"
Parameters ()
{
+ OPTIONS_ALL=""
+
GETOPT_LONGOPTIONS="name:,allow-stop,force,verbose,"
GETOPT_OPTIONS="n:,f,v,"
@@ -52,16 +54,22 @@ Parameters ()
--allow-stop)
ALLOW_STOP="true"
shift 1
+
+ OPTIONS_ALL="${OPTIONS_ALL} --allow-stop"
;;
-f|--force)
FORCE="true"
shift 1
+
+ OPTIONS_ALL="${OPTIONS_ALL} --force"
;;
-v|--verbose)
VERBOSE="true"
shift 1
+
+ OPTIONS_ALL="${OPTIONS_ALL} --verbose"
;;
--)
@@ -111,6 +119,19 @@ then
Usage
fi
+case "${NAME}" in
+ ALL)
+ NAMES="$(container list --format shell --stopped)"
+
+ for NAME in ${NAMES}
+ do
+ container remove --name ${NAME} ${OPTIONS_ALL} || true
+ done
+
+ exit 0
+ ;;
+esac
+
if [ ! -e "${MACHINES}/${NAME}" ] && [ ! -e "${CONFIG}/${NAME}.conf" ]
then
echo "'${NAME}': no such container" >&2