#!/bin/sh # container-tools - Manage systemd-nspawn containers # Copyright (C) 2014-2016 Daniel Baumann # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see . set -e SOFTWARE="container-tools" PROGRAM="container" COMMAND="$(basename ${0})" Usage () { echo "Usage: ${PROGRAM}-shell" >&2 exit 1 } Shell () { COMMAND="${1}" if [ -z "${COMMAND}" ] then return fi shift 1 OPTIONS="${@}" case "${COMMAND}" in about) man ${PROGRAM} || true return ;; logout|exit) exit 0 ;; help) case "${OPTIONS}" in "") echo echo "The following ${PROGRAM} commands are available:" echo cd "/usr/lib/${SOFTWARE}/${PROGRAM}" echo "$(for COMMAND in about logout *; do echo ${COMMAND}; done | sort)" cd "${OLDPWD}" echo echo "Use 'help COMMAND' for more information." return ;; *) man ${PROGRAM}-${1} || true return ;; esac ;; esac if [ ! -e "/usr/lib/${SOFTWARE}/${PROGRAM}/${COMMAND}" ] then echo "'${COMMAND}': no such ${PROGRAM} command" >&2 return else echo "/usr/lib/${SOFTWARE}/${PROGRAM}/${COMMAND}" "${OPTIONS}" || true fi } trap 'echo' EXIT HUP INT QUIT TERM echo "${SOFTWARE} $(${PROGRAM} version)" echo "Type \"about\" or \"help\" for more information, \"logout\" to exit." while true do echo echo -n "${PROGRAM}: " read CMDLINE Shell ${CMDLINE} done