]> gitweb.fluxo.info Git - kvmx.git/commitdiff
Adds version and shell actions
authorSilvio Rhatto <rhatto@riseup.net>
Sun, 31 Dec 2017 17:08:55 +0000 (15:08 -0200)
committerSilvio Rhatto <rhatto@riseup.net>
Sun, 31 Dec 2017 17:08:55 +0000 (15:08 -0200)
kvmx
kvmx-shell [new file with mode: 0755]

diff --git a/kvmx b/kvmx
index e4887e01de54ee75b3a45ec0f416e15da841e7fc..b6ba0b219ba2a5d808370833995ee0171fd0e200 100755 (executable)
--- 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 (executable)
index 0000000..5149087
--- /dev/null
@@ -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