From: Silvio Rhatto Date: Sun, 31 Dec 2017 02:53:02 +0000 (-0200) Subject: Edit accepting params X-Git-Tag: 0.1.0~300 X-Git-Url: https://gitweb.fluxo.info/?a=commitdiff_plain;h=22188879a3d5a2c48e94c55a7f17487eab0d2514;p=kvmx.git Edit accepting params --- 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 }