From 6f2430b389f162cd89b86b771bf801d59a9321db Mon Sep 17 00:00:00 2001 From: Silvio Rhatto Date: Sun, 31 Dec 2017 15:08:55 -0200 Subject: Adds version and shell actions --- kvmx | 23 ++++++++++++++++++++++- kvmx-shell | 25 +++++++++++++++++++++++++ 2 files changed, 47 insertions(+), 1 deletion(-) create mode 100755 kvmx-shell diff --git a/kvmx b/kvmx index e4887e0..b6ba0b2 100755 --- a/kvmx +++ b/kvmx @@ -76,7 +76,7 @@ function __kvmx_create_config_entry { # Initialize function __kvmx_initialize { - if [ "$ACTION" == "app_base" ]; then + if [ "$ACTION" == "app_base" ] || [ "$ACTION" == "version" ]; then return fi @@ -1627,6 +1627,27 @@ function kvmx_compress { echo "compression ratio: $ratio" } +# Version +function kvmx_version { + echo $VERSION +} + +# Shell +function kvmx_shell { + # While a "quit" command isn't entered, read STDIN + while read -rep "kvmx:/${USER}@${VM}> " STDIN; do + if [ "$STDIN" == "quit" ] || [ "$STDIN" == "exit" ] || [ "$STDIN" == "bye" ]; then + break + elif [ "$STDIN" == "shell" ]; then + echo "Why you need nesting?" + elif [[ -n "$STDIN" && "$STDIN" != "#"* ]]; then + # If line is not empty or commented, process command + STDIN=($STDIN) + $APP_BASE/kvmx ${STDIN[0]} $VM ${STDIN[@]:1} + fi + done +} + # Dispatch if type kvmx_$ACTION 2> /dev/null | grep -q "kvmx_$ACTION ()"; then __kvmx_initialize $* diff --git a/kvmx-shell b/kvmx-shell new file mode 100755 index 0000000..5149087 --- /dev/null +++ b/kvmx-shell @@ -0,0 +1,25 @@ +#!/usr/bin/env bash +# +# kvmx-shell login shell wrapper for a single VM per user +# +# Copyright (C) 2017 Silvio Rhatto - rhatto at riseup.net +# +# 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 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 . +# + +# Parameters +DIRNAME="`dirname $0`" + +# Dispatch +$DIRNAME/kvmx shell $USER -- cgit v1.2.3