diff options
author | Silvio Rhatto <rhatto@riseup.net> | 2017-12-31 15:08:55 -0200 |
---|---|---|
committer | Silvio Rhatto <rhatto@riseup.net> | 2017-12-31 15:08:55 -0200 |
commit | 6f2430b389f162cd89b86b771bf801d59a9321db (patch) | |
tree | c7c9e83236b50f40a77288a28404b903f90939f4 | |
parent | 559d38de251d531898ed484d9d3fb59e906e4b3a (diff) | |
download | kvmx-6f2430b389f162cd89b86b771bf801d59a9321db.tar.gz kvmx-6f2430b389f162cd89b86b771bf801d59a9321db.tar.bz2 |
Adds version and shell actions
-rwxr-xr-x | kvmx | 23 | ||||
-rwxr-xr-x | kvmx-shell | 25 |
2 files changed, 47 insertions, 1 deletions
@@ -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 <http://www.gnu.org/licenses/>. +# + +# Parameters +DIRNAME="`dirname $0`" + +# Dispatch +$DIRNAME/kvmx shell $USER |