This commit is contained in:
Ahurac 2024-03-26 20:14:11 +01:00
parent cfeb491af9
commit 7b24482dcd

42
bin/qemush Executable file
View file

@ -0,0 +1,42 @@
#!/usr/bin/env sh
set -e
# Invoked on termination if the last command failed
error() { >&2 echo "$(basename "$0"): ${*}"; }
error_envvar() { error "missing environment variable QEMUSH_NAME"; }
error_arg() { error "invalid argument \"${*}\""; }
# Assert that the QEMUSH_NAME variable is not null
trap error_envvar EXIT
[ -n "$QEMUSH_NAME" ]
# Determine the base dir to use
trap 'error_arg "$*"' EXIT
case "$1" in
disk)
basedir=disks
extension=qcow2
;;
socket)
basedir=sockets/monitors
;;
spice)
basedir=sockets/spice
;;
shared)
basedir=shared
;;
*)
false
;;
esac
# Release the trap
trap - EXIT
# Print the actual string
basedir="${HOME}/${basedir}"
name="$QEMUSH_NAME"
[ -n "$2" ] && name="${name}-${2}"
[ -n "$extension" ] && extension=".${extension}"
printf %s/%s%s\\n "$basedir" "$name" "$extension"