From 22188879a3d5a2c48e94c55a7f17487eab0d2514 Mon Sep 17 00:00:00 2001 From: Silvio Rhatto Date: Sun, 31 Dec 2017 00:53:02 -0200 Subject: Edit accepting params --- TODO.md | 1 - kvmx | 28 ++++++++++++++++++++++------ 2 files changed, 22 insertions(+), 7 deletions(-) diff --git a/TODO.md b/TODO.md index 7fc8e60..f06b0ce 100644 --- a/TODO.md +++ b/TODO.md @@ -19,4 +19,3 @@ * Makefile and debian package. * Patch for spice-client-gtk for menuless windows (spicec usecase). * Accept args into monitor action. -* Support for key=value options at `init` action to populate the `kvmxfile` with custom values. diff --git a/kvmx b/kvmx index 979620e..6ef4992 100755 --- a/kvmx +++ b/kvmx @@ -1033,14 +1033,30 @@ function kvmx_copy { # Edit guest config function kvmx_edit { - if [ -z "$EDITOR" ]; then - EDITOR="vi" - fi + if [ -z "$1" ]; then + if [ -z "$EDITOR" ]; then + EDITOR="vi" + fi - if [ -e "$GLOBAL_USER_CONFIG_FOLDER/$VM" ]; then - $EDITOR $GLOBAL_USER_CONFIG_FOLDER/$VM + if [ -e "$GLOBAL_USER_CONFIG_FOLDER/$VM" ]; then + $EDITOR $GLOBAL_USER_CONFIG_FOLDER/$VM + else + echo "$BASENAME: $GLOBAL_USER_CONFIG_FOLDER/$VM: file not found." + fi else - echo "$BASENAME: $GLOBAL_USER_CONFIG_FOLDER/$VM: file not found." + if [ -z "$2" ]; then + echo "usage: $BASENAME $VM edit $1 " + exit 1 + fi + + param="$1" + shift + + if ! grep -q "^$param=" $GLOBAL_USER_CONFIG_FOLDER/$VM; then + echo "$param=\"$*\"" >> $GLOBAL_USER_CONFIG_FOLDER/$VM + else + sed -i -e "s#^$param=.*#$param=\"$*\"#" $GLOBAL_USER_CONFIG_FOLDER/$VM + fi fi } -- cgit v1.2.3