diff options
author | Daniel Baumann <daniel.baumann@open-infrastructure.net> | 2022-09-17 04:58:14 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@open-infrastructure.net> | 2022-09-17 04:58:40 +0000 |
commit | 5d023bb8b502df8c95f0096cafe050de349e82c2 (patch) | |
tree | 3388345058a791648a45c5d4fb559bec90db8f65 | |
parent | Releasing version 20220721. (diff) | |
download | compute-tools-5d023bb8b502df8c95f0096cafe050de349e82c2.tar.xz compute-tools-5d023bb8b502df8c95f0096cafe050de349e82c2.zip |
Adding force and interactive options to container restart command.
Signed-off-by: Daniel Baumann <daniel.baumann@open-infrastructure.net>
-rwxr-xr-x | libexec/container/restart | 37 | ||||
-rw-r--r-- | share/man/container-restart.1.rst | 6 |
2 files changed, 40 insertions, 3 deletions
diff --git a/libexec/container/restart b/libexec/container/restart index fcb28b8..0eb753c 100755 --- a/libexec/container/restart +++ b/libexec/container/restart @@ -31,8 +31,8 @@ Parameters () { OPTIONS_ALL="" - GETOPT_LONGOPTIONS="name:,verbose," - GETOPT_OPTIONS="n:,v," + GETOPT_LONGOPTIONS="name:,force,interactive,verbose," + GETOPT_OPTIONS="n:,f,i,v," PARAMETERS="$(getopt --longoptions ${GETOPT_LONGOPTIONS} --name=${COMMAND} --options ${GETOPT_OPTIONS} --shell sh -- ${@})" @@ -52,6 +52,20 @@ Parameters () shift 2 ;; + -f|--force) + FORCE="true" + shift 1 + + OPTIONS_ALL="${OPTIONS_ALL} --force" + ;; + + -i|--interactive) + INTERACTIVE="true" + shift 1 + + OPTIONS_ALL="${OPTIONS_ALL} --interactive" + ;; + -v|--verbose) VERBOSE="true" shift 1 @@ -74,7 +88,7 @@ Parameters () Usage () { - echo "Usage: ${PROGRAM} ${COMMAND} -n|--name NAME [-v|--verbose]" >&2 + echo "Usage: ${PROGRAM} ${COMMAND} -n|--name NAME [-f|--force] [-i|--interactive] [-v|--verbose]" >&2 echo echo "See ${COMMAND}(1), ${PROGRAM}(1) and ${PROJECT}(7) for more information." @@ -107,6 +121,23 @@ then exit 1 fi +if [ "${FORCE}" != "true" ] || [ "${INTERACTIVE}" = "true" ] +then + echo -n "'${NAME}': restart container '${NAME}' [y|N]? " + read STOP + + STOP="$(echo ${STOP} | tr '[A-Z]' '[a-z]')" + + case "${STOP}" in + y|yes) + ;; + + *) + exit 1 + ;; + esac +fi + # Pre hooks for FILE in "${HOOKS}/pre-${COMMAND}".* "${HOOKS}/${NAME}.pre-${COMMAND}" do diff --git a/share/man/container-restart.1.rst b/share/man/container-restart.1.rst index bb2d4f1..c52353d 100644 --- a/share/man/container-restart.1.rst +++ b/share/man/container-restart.1.rst @@ -47,6 +47,12 @@ The following **container restart** options are available: -n, --name='NAME': Specify container name. Specifying 'ALL' will restart all started container. +-f, --force: + Do not prompt before every restarting. + +-i, --interactive: + Prompt before every restarting (default). + -v, --verbose: Explain what is being done. |